在Rails3中,我有以下几行:
@messages = Message.where("recipient_deleted = ?", false).find_by_recipient_id(@user.id)
在我看来,我遍历@messages
并打印出每条消息,如下:
<% for message in @messages %>
<%= message.sender_id %>
<%= message.created_at %>
<%= message.body %>
<% end %>
当有多条消息时,这可以完美地运行。
问题是当我有一条消息时,我收到一个错误:
undefined method
each'`
即使只有一条消息使each
始终有效,我如何强制rails始终返回一组消息?
谢谢!
答案 0 :(得分:4)
试试这个:
@messages = Message.where(recipient_deleted => false, :recipient_id => @user.id)
@messages.each do |message|
<%= message.sender_id %>
<%= message.created_at %>
<%= message.body %>
end
我认为你的问题在于你是嵌套的东西真的很奇怪。两者都应该是where子句
的一部分