1

我有两个模型:UserUser_profile

在 User.rb 中,用户has_one :user_profile

在 User_profile.rb 中, User_profile belongs_to :user

然后我有 users_controller 及其 index.html.erb。所以我将此添加到我的用户模型中,以便通过嵌套列启用搜索,但是当我尝试重新索引时它显示错误。我怎样才能解决这个问题?

# 未定义的方法“user_profiles”

模型/用户.rb

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

1 回答 1

4

您在 user.rb 文件中给出了用户has_one :user_profile。所以它不能是对象的集合,而是一个成员对象。所以你不能调用user_profiles.map { |user_profile| user_profile.nickname }你的用户模型。

如果你想调用 write 如下:

searchable do 
  text :user_profile_nickname do
    user_profile.nickname
  end
end

以上肯定会奏效。如果不工作,请告诉我。

于 2012-12-15T05:40:04.683 回答