0

我正在运行以下活动记录查询

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 %>

问题属性被很好地填充,但关键字属性以十六进制值显示,例如 #< Keyword:0x00000104eb00a0>。知道为什么吗?非常感谢任何帮助。

4

2 回答 2

0

您确定应该使用 <%= 而不是 <% 标记吗?这显示了任何函数的返回值,因此如果 grid 返回关键字对象,那将是显示的内容。

于 2014-02-21T03:44:41.893 回答
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 %>
于 2014-02-21T03:51:44.520 回答