1

私は2つのモデルを持っていますUser:User_profile

User.rb では、 User has_one :user_profile.

User_profile.rb で、 User_profile belongs_to :user.

次に、users_controller とその index.html.erb があります。そのため、ネストされた列による検索を有効にするためにこれを User モデルに追加しましたが、インデックスを再作成しようとするとエラーが表示されます。どうすればこれを修正できますか?

未定義のメソッド「user_profiles」 #

モデル/user.rb

....
  searchable do 
    text :user_profile_nickname do
      user_profiles.map { |user_profile| user_profile.nickname }
    end
  end
....
4

1 に答える 1

4

has_one :user_profileuser.rb ファイルでUser を指定しました。したがって、オブジェクトのコレクションではなく、メンバー オブジェクトです。user_profiles.map { |user_profile| user_profile.nickname }したがって、Userモデルを呼び出すことはできません。

呼び出したい場合は、次のように記述します。

searchable do 
  text :user_profile_nickname do
    user_profile.nickname
  end
end

上記は確実に機能します。動作しない場合はお知らせください。

于 2012-12-15T05:40:04.683 に答える