使用rails中的includes选择列

时间:2016-01-27 11:46:10

标签: ruby-on-rails-3.2

我的查询为:Message.joins(:user).select('messages.*, users.name').where("users.name LIKE ? OR messages.to LIKE ? " ,"%#{@query}%", "%#{@query}%").paginate(:page => params[:page], :per_page => 5)。我想使用包括而不是连接。所以我将查询更改为:Message.includes(:user).select('messages.*, users.name').where("users.name LIKE ? OR messages.to LIKE ? " ,"%#{@query}%", "%#{@query}%").paginate(:page => params[:page], :per_page => 5)

在我的观看中,我循环播放消息,并使用以下命令获取用户名:<%= message.name%>。但在将联接更改为包含后,我收到错误:NoMethodError (undefined method名称' #)`。如何在视图中访问消息表和用户表中的字段。

1 个答案:

答案 0 :(得分:4)

请尝试以下代码。

@ messages.each do | message |   <%= message.user.name%> 端