私はこれらのモデルを持っています:
class Post
belongs_to :user
end
class User
has_many :posts
end
任意のゲスト ユーザー (つまり、user.role == 'guest') が「Some Title」というタイトルの投稿を取得したいと考えています。
タイトルはゲスト ユーザー間で一意になりますが、一部の非ゲスト ユーザーがそのタイトルの投稿をしている可能性があります。Rails ガイドとApiを使用しようとしていますが、正しい構文を組み合わせることはできないようです。
のように単純であることを願っていましたが、 #ActiveRecord::Relation:0x4e6d380 に対して未定義のメソッド「posts」User.where(:role => 'guest').posts.find_by_title('some title')
がスローされます。
Post.find_by_title('some title', :conditions => {:users => {:role => 'guest'}, :joins => :users}
PG ::Error: エラー: テーブル "users" の FROM 句のエントリがありません。
'users' という名前のPost.joins(:users)
スロー アソシエーションを持つものは見つかりませんでした。