簡體   English   中英

Rails 5 - 為每個模型實例創建虛榮路線

[英]Rails 5 - Create vanity route for each instance of model

我知道必須有一種更簡潔的方法來做到這一點,但我有一段時間沒有編寫代碼並且正在繪制空白。

我有一個名為 Link 的模型,它具有標題、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的bttom

get '*id', :to => 'links#show'

在 links_controller.rb

  def show
    @link = Link.find_by_slug(params[:id])
  end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM