我正在尝试建立一个多态性关联,但除了这一件事外,我似乎都有所有工作。我正在与Railscast一起在此处关注https://www.youtube.com/watch?v=wofacbxdwjy,并且有一个部分,他在其中添加了一个链接到与照片链接的新评论。
他列出的代码在视频中使用了很好。在视频中,[: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
而不是 ..articles/4/comments/new
我在做什么错?我也在使用rails5。
看来您的问题是错字,您使用的是@comment
而不是:comment
。
尝试更改:
<p><%= link_to "New Comment", [:new, @commentable, @comment] %></p>
to:
<p><%= link_to "New Comment", [:new, @commentable, :comment] %></p>
我相信您想使用polymorphic_path
助手,请尝试一下:
<p><%= link_to "New Comment", new_polymorphic_path([@commentable, @comment]) %></p>