生成的URL中的句点而不是正斜杠

时间:2013-01-29 23:30:22

标签: ruby-on-rails routes

我的应用程序路径中出现了一种奇怪的状态。

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

 resources :forums do
  resources :discussions
 end

并生成一个视图以显示所有讨论,并要求点击任何这些讨论应该进入适当的讨论,例如“forum / 2 / discussion / 3”。然而,当我使用:

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

生成的网址/链接是“forums / 2 / discussion.3”任何想法为何有“。”而不是“/”?

1 个答案:

答案 0 :(得分: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选项。