小编lou*_*lou的帖子

两个 has_many 关联之间的联合

我将 Rails 4.1 与 Postgres 一起使用,并且我有一个这样的模型:

class User < ActiveRecord::Base
  has_many :events
  has_many :event_memberships
  has_many :shared_events, through: :event_memberships, source: event

  def all_events
    #... code goes here
  end
end
Run Code Online (Sandbox Code Playgroud)

我想在事件和 shared_events 关联之间进行联合,但我无法让它工作。

我唯一能让它工作的是:

def all_events
  events + shared_events
end
Run Code Online (Sandbox Code Playgroud)

但它将执行 2 个 SQL 查询而不是一个,我将无法对结果进行排序或限制。

我也尝试过这样的事情:

def all_events
  User.find_by_sql("(#{events.to_sql}) UNION (#{shared_events.to_sql})")
end
Run Code Online (Sandbox Code Playgroud)

或者这个方法https://coderwall.com/p/9hohaa 但是这两种方法都会抛出这个错误:

PG::UndefinedParameter: ERROR:  there is no parameter $1
Run Code Online (Sandbox Code Playgroud)

这似乎是 rails 4+ 中的已知错误,无法解决https://github.com/rails/rails/issues/13686

所以我这里唯一的选择似乎是编写普通的旧 SQL。有人有更好的主意吗?

ruby-on-rails-4 rails-activerecord

5
推荐指数
0
解决办法
989
查看次数

使用Jquery进行多选

我正在寻找一种替代普通HTML多选的方法,基于JQuery更易于用户使用,并且更易于维护和实现,任何基于任何经验的推荐都会非常有用.我需要像Multiselect这样的东西

我可能在一个页面上有多个multiSelect下拉列表,在这种情况下我附加的链接将失败.

javascript jquery jquery-ui multi-select

3
推荐指数
1
解决办法
9717
查看次数