Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 寻找更好的方式来定义我的Rails路线/路径_Ruby On Rails_Ruby_Activerecord - Fatal编程技术网

Ruby on rails 寻找更好的方式来定义我的Rails路线/路径

Ruby on rails 寻找更好的方式来定义我的Rails路线/路径,ruby-on-rails,ruby,activerecord,Ruby On Rails,Ruby,Activerecord,我的应用程序有两个主要组件:用户和属性。URL的结构应该是:hostname.com/users/:user\u id/properties/:property\u id。我相信我在某个地方犯了一个配置错误,因为Rails从不识别“property\u path”或其任何变体,我必须硬编码它们才能使重定向正常工作 routes.rb resources :users do resources :properties end users/show.html.erb注意,我必须硬编

我的应用程序有两个主要组件:用户和属性。URL的结构应该是:hostname.com/users/:user\u id/properties/:property\u id。我相信我在某个地方犯了一个配置错误,因为Rails从不识别“property\u path”或其任何变体,我必须硬编码它们才能使重定向正常工作

routes.rb

  resources :users do
    resources :properties
  end
users/show.html.erb注意,我必须硬编码路径,而不是简单地链接到“I”




  • 如何更好地定义我的路由,以便我可以将上面的链接仅链接到“I”,它将表示“属性路径”,并自动重定向到该显示页面?

    您不必硬编码它。你可以做:

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

  • 是的,就是这么简单。有关更多信息,请访问

    您不必硬编码它。你可以做:

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

  • 是的,就是这么简单。有关更多信息,请访问

    谢谢@atomAltera,还有我错过那一个的错误。这似乎肯定是一个重复的问题,然后请参阅以获取答案谢谢@atomAltera,我错过了这个问题。这似乎绝对是一个重复的问题thenNice,我不知道你可以这样链接,但现在它完全有意义。使用这种结构,Rails将只在“属性”路径与@user关联时才查找它。谢谢Marek,我会在7分钟内接受这个问题,当它允许meNice时,我根本不知道你可以这样链接,但现在它完全有意义了。使用这种结构,Rails将只在“属性”路径与@user关联时才查找它。谢谢Marek,如果允许的话,我会在7分钟内接受这个问题