我正在尝试从数据库中收集信息,然后通过flash将该信息传递给我的视图。不幸的是,信息是在ActiveRecord :: Relation中格式化的,而不是我能读取的任何格式。
控制器查询
@message = Message.where(:all).limit(4).order(id: :desc).only(:order,:where)
flash[:response] = @message
redirect_to (:back)
如果我做的话
@message = Message.where(:all).limit(4).order(id: :desc).only(:order,:where)
flash[:response] = @message.first.mess
redirect_to (:back)
为了尝试获取mess列中的第一个返回值,我得到一个未定义的方法错误。我一直试图找到一个教程,告诉我一旦我的查询运行后如何获取信息,但我最近没有得到Rail的教程。我感谢你们给予的任何帮助。在我这样做之后,我将尝试在视图方面格式化4种不同的结果。
答案 0 :(得分:1)
消息列表:
@messages = Message.order(id: :desc).limit(4)
这:only(:order,:where)
取消您的limit(4)
(为什么?)
@messages
现在是一个activerecord协会,不适合输出....所以,如果你有4条消息,你可以做到:
if @messages.any? # maybe no messages come out
flash[:response] = @messages.map(&:mess).join('<br>') # add an html newline between them
end
redirect_to :back