Rails多态关联链接不起作用



我正在尝试建立一个多态性关联,但除了这一件事外,我似乎都有所有工作。我正在与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>

最新更新