3

我的应用程序路线出现了奇怪的状态。

这是我正在使用 Rails 构建的基本讨论论坛。我正在使用嵌套资源,例如:

 resources :forums do
  resources :discussions
 end

并生成一个视图以显示所有讨论,并要求单击这些讨论中的任何一个应路由到适当的讨论,例如“forum/2/discussions/3”。然而,当我使用:

<% Discussion.find_each do |discussion| %>
 <%= link_to discussion.title, forum_discussions_path(discussion.forum_id, discussion) %>
<% end %>

生成的 url/链接是“forums/2/discussion.3”任何想法为什么有一个“。” 代替 ”/”?

4

1 回答 1

4

您需要使用forum_discussion路线,而不是forum_discussions路线

forum_discussion GET /forums/:forum_id/discussions/:id(.:format) discussions#show

总而言之,看起来像

<% Discussion.find_each do |discussion| %>
  <%= link_to discussion.title, forum_discussion_path(discussion.forum_id, discussion) %>
<% end %>

你把它指向这条路线

forum_discussions GET /forums/:forum_id/discussions(.:format) discussions#index

因此该discussion.id值被用作:format选项。

于 2013-01-29T23:41:23.017 回答