从哈希中访问id?

时间:2011-05-29 19:29:12

标签: ruby-on-rails hash

我无法从哈希中访问id:

@categories = Category.includes(:discussions)

从上面返回数据。

<li class="category">
<h3><%=link_to(category.title, category.title)%></h3>
<%=link_to(category.discussions.first.title, CGI::escape(category.discussions.first.title), :class => 'category_discussion_latest')%>
Most recent by <%=link_to(category.discussions.first.comments.first.user.name, category.discussions.first.comments.first.user, :class => 'category_commentby_latest')%>
<span class="category_discussiondate_latest"><%= category_date(category.discussions.first.comments.first.created_at) %></span>
Discussions: <%=category.discussions.count%>
Comments: <%=category.comments.count%>
<div class="clear"></div>
</li>

这是我提供列表的部分内容。

但是你可能会注意到链接目前我只是在link_to的url部分有category.title这是因为如果我声明:

<h3><%=link_to(category.title, category.id)%></h3>

它返回:

undefined method `model_name' for Fixnum:Class

我是rails的新手,我确信这个解决方案很简单,但我无法看到它,因为我长时间一直盯着相同的代码。谢谢!

1 个答案:

答案 0 :(得分:2)

请参阅documentation for link_to。将整数作为第二个参数传递无效。您可以传递url(作为String)或ActiveRecord模型对象,如下所示:

<h3><%=link_to category.title, category %></h3>