我有一个名为Partners的表,其中有一个名为Partner Name的列。我想为每个合作伙伴创建一个类似于以下内容的网址:www.url.com/partner/PartnerName
。
现在我一直试图在我的routes.rb
get '/partner/:partner_name', to: 'pages#partner_page'
在我的控制器中,我做了
logger.info params[:partner_name]
总是零。事情是我知道这适用于ID,因为我以前做过。如果它是
get '/partner/:id', to: 'pages#partner_page'
我知道logger.info params[:id]
会起作用。但在这种情况下,它不是。
除了这个问题之外,我希望将URL路由到页面,只有当该特定的合作伙伴名称存在时。但这是我只能在控制器中执行的检查,此时页面已经呈现。我如何解决上述问题?
答案 0 :(得分:0)
<强>的routes.rb 强>
get '/partner/:partner_name', to: 'pages#partner_page', as: :partner_page
这将为您提供partner_page_path
路线。
<强> html.erb 强>
link_to partner.name, partner_page_path(partner_name: partner.name)
<强>控制器强>
@partners = Partner.all
<强> html.erb 强>
<% @partners.each do |partner|%>
<%= link_to partner.name, partner_page_path(partner_name: partner.name) %>
<% end %>