繁体   English   中英

关联表排序错误

[英]Sorting error when associated table

我在使用gem wice_grid时遇到排序问题。 我有一个用于发送消息的表/网格,它包含各种列。 在消息控制器中:

def index
  @messages_grid = initialize_grid( Message,
                                    per_page:        40,
                                    order:           'messages.created_at',
                                    order_direction: 'desc' )
end

gem提供了排序功能,并且适用于大多数列。 但是,对于涉及关联表(用户)的列,排序(和过滤)失败。 如果单击以对这些列进行排序,则会出现错误,该错误指向视图页面中的行: <%= grid(@messages_grid, show_filters: :when_filtered, html: {class: 'my-grid'}) do |g|

PG::UndefinedTable: ERROR:  missing FROM-clause entry for table "users"
LINE 1: ...ECT  "messages".* FROM "messages"  ORDER BY "users
                                                             ^
: SELECT  "messages".* FROM "messages"  ORDER BY "users"."username" asc LIMIT 40 OFFSET 0

我关注的页面如下所示:

g.column name: 'Sender', model: 'User', attribute: 'username', auto_reload: true, html: {id: 'grid-cells'} do |message|
  unless message.sender.nil?
    link_to(message.sender.username, user_path(message.sender))
  end
end

有谁知道为什么当涉及关联表时排序出错? 我正在使用wice_grid 3.5.0,Rails 4.2.3,并且控制台未显示任何JavaScript错误。

在:initialize_grid中使用:include可以包含关联的表。 http://wicegrid.herokuapp.com/joining_tables

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM