Select 列使用包含在 rails 中
Select column using includes in rails
我的查询是: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
name' for #)`。如何在我的视图中访问消息 table 和用户 table 中的字段。
试试下面的代码。
@messages.each 留言|
<%= message.user.name %>
结束
我的查询是: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
name' for #)`。如何在我的视图中访问消息 table 和用户 table 中的字段。
试试下面的代码。
@messages.each 留言| <%= message.user.name %> 结束