当我把@user.dreams
放在我的视图中时,我得到:
[# Dream id: 3, content: "My Dream", user_id: 2, created_at: "2011-10-06 21:58:50", updated_at: "2011-10-06 21:58:50">]
现在我只想打印出这一行的content: data。但是当我输入:
@user.dreams.content
或@user.content
我得到"未定义的方法'内容'错误。
@user.id
正确输出"2"。
如何从这一行打印出"My Dream"内容?
如果dreams是一个用户关联,那么你需要做
@user.dreams.first.content
或遍历@user.dreams
如
<% @user.dreams.each do |dream| %>
<%= dream.content %>
<% end %>
dreams
调用返回一个ActiveRecord::Relation
对象,因为它是一个对象集合。如果你想要所有梦想的所有内容,你必须把它当作一个数组:
@user.dreams.map(&:content)
同样,@user.content
也不能工作,因为content
是Dream
对象上的属性,而不是User
对象。