Tôi có một mô hình Author
có nguồn cấp dữ liệu. Sử dụng Rails 3 muốn thiết lập phạm vi tìm tất cả các tác giả không có nguồn cấp dữ liệu liên quan.Làm thế nào để sử dụng phạm vi Rails 3 để lọc trên bảng tham gia habtm nơi các bản ghi liên quan không tồn tại?
class Author < ActiveRecord::Base
has_and_belongs_to_many :feeds
scope :without_feed, joins(:feeds).where("authors_feeds.feed_id is null")
end
... dường như không hoạt động. Nó cảm thấy như một điều đơn giản. Tôi đang thiếu gì ở đây?
Có vẻ như các kết nối (: nguồn cấp dữ liệu) đang thực hiện một phép nối bên trong mà sẽ chỉ chọn một tác giả nếu chúng có nguồn cấp dữ liệu ở vị trí đầu tiên? – Midwire
Nó thực sự đang làm một tham gia bên trong: 'SELECT tác giả. * TỪ tác giả INNER JOIN authors_feeds ON authors_feeds.author_id = authors.id INNER JOIN nguồn cấp dữ liệu ON feeds.id = authors_feeds.feed_id WHERE (authors_feeds.feed_id is null)' và những gì tôi muốn là một tham gia bên ngoài. Bất kỳ giúp đỡ? – Midwire