我試圖實現Friendly_Id寶石在我的軌道4應用程序,都創下了路障。Friendly_Id:id爲蛞蝓,但網址仍然顯示對象ID屬性(ID =?)
創業板工作,但網址仍然是不漂亮。它看起來像這樣:
http://www.example.com/project/featured?id=project-name
創業板工作,因爲id參數現在是一個蛞蝓,但是我不知道如何刪除「ID =?」,並用斜槓代替它呢?那可能嗎?我錯過了一步嗎?
控制器:
def featured
@project = Project.friendly.find(params[:id])
end
型號:
extend FriendlyId
friendly_id :title, use: :slugged
查看:
<% @projects.each do |project| %>
<%= link_to project_featured_path(:id => project.slug) do %>
<%= project.title %>
<% end %>
<% end %>
條相關路線:
get "project/featured"
match 'project' => 'project#index', :as => :project, via: [:get, :post]
resources :projects do
member do
get :featured
end
end
match ':controller(/:action(/:id))(.:format)', via: [:get, :post]
我也引用我的一個以前的應用程序在軌運行3這Friendly_Id似乎不存在這個問題......不記得,如果我只是失蹤一步。
任何幫助將不勝感激。乾杯!
更新:
代後:
project_featured_path(:id => project.slug)
爲pearlshareteam答案:
project_featured_path(project)
我的URL看起來更好一點,但仍然沒有工作。它看起來像這樣:
http://example.com/project/featured.project-one
有一段時間,而不是斜線。在測試中,我發現如果我用斜線代替點,實際上會生成正確的頁面。
這只是與我的link_to格式問題?
感謝您的快速回復! – Smashdelight