Rails 5 - 为模型的每个实例创建虚荣路线
Rails 5 - Create vanity route for each instance of model
我知道必须有一种更简洁的方法来执行此操作,但我已经有一段时间没有编写代码了,所以现在一片空白。
我有一个名为 Link 的模型,它有一个 Title、Slug 和 Destination。目的地是重定向的位置(mydomain.com/instagram 将重定向到我的 instagram 帐户)。 Slug是为friendly_id自定义slug。这是我 routes.rb 中的代码,它可以工作,但感觉很恶心。
Link.all.each do |link|
get "/#{link.slug}", to: 'links#show', :id -> link.id
end
有没有更好的方法来完成这个任务?
您可以使用单个操作和路由来匹配您的所有链接。
在 routes.rb
的底部
get '*id', :to => 'links#show'
在links_controller.rb
def show
@link = Link.find_by_slug(params[:id])
end
我知道必须有一种更简洁的方法来执行此操作,但我已经有一段时间没有编写代码了,所以现在一片空白。
我有一个名为 Link 的模型,它有一个 Title、Slug 和 Destination。目的地是重定向的位置(mydomain.com/instagram 将重定向到我的 instagram 帐户)。 Slug是为friendly_id自定义slug。这是我 routes.rb 中的代码,它可以工作,但感觉很恶心。
Link.all.each do |link|
get "/#{link.slug}", to: 'links#show', :id -> link.id
end
有没有更好的方法来完成这个任务?
您可以使用单个操作和路由来匹配您的所有链接。
在 routes.rb
的底部get '*id', :to => 'links#show'
在links_controller.rb
def show
@link = Link.find_by_slug(params[:id])
end