寻求更好的方法来定义我的Rails路由/路径

时间:2014-07-24 14:00:57

标签: ruby-on-rails ruby activerecord

我的应用程序有两个主要组件:用户和属性。 URL的结构应如下所示:hostname.com/users/:user_id/properties/:property_id。我相信我在某处发生了配置错误,因为Rails从未认识到" property_path"或者它的任何变体,我不得不对它们进行硬编码以使重定向工作。

的routes.rb

  resources :users do
    resources :properties
  end

users / show.html.erb - 请注意我必须对路径进行硬编码,而不是简单地链接到"我"

<% @user.properties.each do |i| %>
<li><%= link_to "#{i.address}", "/users/#{@user.id}/properties/#{i.id}" %></li>
<% end %>


我怎样才能更好地定义我的路线,以便我可以将上面的链接链接到&#34; i&#34;,这将代表&#34; properties_path&#34;,并会自动重定向到该节目页面?

1 个答案:

答案 0 :(得分:4)

您不必对其进行硬编码。你可以这样做:

<% @user.properties.each do |property| %>
  <li><%= link_to property.address, [@user, property] %></li>
<% end %>

是的,就这么简单。有关详细信息,请转到Rails guides

相关问题