我正在开发一个Rails教程,我不明白路由助手可以作为参数的值。
为什么“article_path”将“article”作为参数是正确的?
<ul id=“articles”>
<% @articles.each do |article| %>
<li>
<%= link_to article.title, article_path(article) %>
</li>
<% end %>
</ul>
答案 0 :(得分:2)
article_path(article)
有效因为当参数传递给控制器时,您将整个对象作为参数传递,所以控制器从参数中获取id并给出特定记录。
我建议您使用article_path(article.id)
遵循标准方式,因为如果您在文章模型(表格)中有多个字段,那么所有字段都会传入参数。
答案 1 :(得分:1)
在以下路线中:
article_path(article)
您可以将article
作为整个对象传递,或article.id
两者都有效。