【问题标题】:link to nested comment 'show' action from articles controller 'show' action从文章控制器“显示”操作链接到嵌套评论“显示”操作
【发布时间】:2014-04-24 02:51:58
【问题描述】:

我正在尝试从其父 Articles 控制器的“显示”操作链接到嵌套评论的“显示”操作。

resources :articles do
  resources :comments
end

我知道链接应该是这样的:

<%= link_to "View Comment", article_comment_path(@article, @comment) %>

而@article 在 ArticlesController 中定义为:

def show
  @article = Article.find(params[:id])
  @comment = ???
end

我很困惑如何定义 @comment 以获得正确的评论 :id 以使链接正常工作。

@comment 也属于_当前用户。

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    假设一篇文章有​​多个评论,您将需要检索集合并对其进行循环。

    def show
      @article = Article.find(params[:id])
      @comments = @article.comments
    end
    

    然后在视图中:

    <% @comments.each do |comment| %>
      <%= link_to "View Comment", article_comment_path(@article, comment) %>
    <% end %>
    

    更好,你可以在视图中做:

    <% @article.comments.each do |comment| %>
      <%= link_to "View Comment", article_comment_path(@article, comment) %>
    <% end %>
    

    那么你就不需要在控制器中定义@comments了。

    【讨论】:

    • 谢谢,就是这样。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 2012-09-29
    • 2015-01-12
    • 2012-04-02
    • 2016-11-18
    • 2019-01-31
    • 1970-01-01
    相关资源
    最近更新 更多