Rails路由助手可以作为参数有什么价值?

时间:2017-07-05 06:43:04

标签: ruby-on-rails ruby

我正在开发一个Rails教程,我不明白路由助手可以作为参数的值。

为什么“article_path”将“article”作为参数是正确的?

<ul id=“articles”>
    <% @articles.each do |article| %>
        <li>
            <%= link_to article.title, article_path(article) %>
        </li>
    <% end %>
</ul>

2 个答案:

答案 0 :(得分:2)

article_path(article)

有效因为当参数传递给控制器​​时,您将整个对象作为参数传递,所以控制器从参数中获取id并给出特定记录。

我建议您使用article_path(article.id)遵循标准方式,因为如果您在文章模型(表格)中有多个字段,那么所有字段都会传入参数。

答案 1 :(得分:1)

在以下路线中:

article_path(article)

您可以将article作为整个对象传递,或article.id两者都有效。