Rails多态关联链接不起作用

时间:2017-05-04 01:58:45

标签: ruby-on-rails railscasts

我正在尝试建立一个多态关联,除了这一件事,我似乎一切正常。我跟随这里的railscast https://www.youtube.com/watch?v=WOFAcbxdWjY,并且有一个部分,他添加了链接到照片的新评论的链接。

他列出的代码在视频中工作得很好。在视频中,<strong>行会将链接转到[:new, @commentable, @comment]

以下是我在..photos/1/comments/new视图中的内容。

comments

唯一的问题是,当我这样做时,链接指向

<div id="wrapper"> <h3>Comments</h3> <p><%= link_to "New Comment", [:new, @commentable, @comment] %></p> <% @comments.each do |comment| %> <div class="comments"> <div class="post-title"><%= comment.content %></div> </div> <% end %> </div>

而不是..articles/new.4

我做错了什么?我也在使用rails5。

2 个答案:

答案 0 :(得分:2)

您的问题似乎是一个错字,您使用@comment代替:comment

尝试更改:

<p><%= link_to "New Comment", [:new, @commentable, @comment] %></p>

为:

<p><%= link_to "New Comment", [:new, @commentable, :comment] %></p>

答案 1 :(得分:1)

我相信你想使用polymorphic_path助手,试试这个:

<p><%= link_to "New Comment", new_polymorphic_path([@commentable, @comment]) %></p>