【发布时间】:2020-04-07 02:34:31
【问题描述】:
我有 users 表、 books 表和 books_users 加入表。在 users_controller.rb 中,我正在尝试提取已过滤的用户。请帮我解决这个问题。
用户.rb
has_many :books_users, dependent: :destroy
has_and_belongs_to_many :books, join_table: :books_users
book.rb
has_and_belongs_to_many :users
books_user.rb
belongs_to :user
belongs_to :book
users_controller.rb
def filter_users
@filtered_books = Fiction.find(params[:ID]).books
@users = **I want only those users who have filtered_books**
end
【问题讨论】:
-
这个问题有几个问题需要首先解决。
has_and_belongs_to_many不使用连接模型,所以如果您使用 HABTM,BooksUser完全是多余的。然后,您只需向我们发送Fiction即可,而无需告诉我们有关这种关系的任何信息,甚至您想用它来完成什么。如果它试图进行分类,你错过了标记。 -
还有
params[:ID]!=params[:id]。大小写在 ruby 中很重要。
标签: ruby-on-rails postgresql ruby-on-rails-5