我正在运行以下有效记录查询
Keyword.joins(:questions, :users, :associations).select("questions.*, keywords.keyword").where(users: {id: @user.id})
使用以下代码使用wice_grid显示结果 -
<%= grid(@questions, show_filters: :false) do |g|
g.column name: 'ID', attribute: 'id', filter: false
g.column name: 'Question', model:'Question', attribute: 'question'
g.column name: 'Keyword', model:'Keyword', attribute: 'keyword'
end %>
问题属性填充得很好,但关键字属性以十六进制值显示,例如#&lt;关键字:0x00000104eb00a0取代。知道为什么吗?任何帮助都非常感谢。
答案 0 :(得分:0)
您确定应该使用&lt;%=而不是&lt;%标记吗?这显示了任何函数的返回值,因此如果grid返回关键字对象,那将是显示的内容。
答案 1 :(得分:0)
来自https://github.com/leikind/wice_grid#queries-with-join-tables:
请注意,列的无块定义仅适用于主表中的列,并且不适用于具有以下列的列:model
<%= grid(@questions, show_filters: :false) do |g|
g.column name: 'ID', attribute: 'id', filter: false
g.column name: 'Question', model:'Question', attribute: 'question'
g.column name: 'Keyword', model:'Keyword', attribute: 'keyword' do |question|
question.keyword.keyword
end
end %>