2

我有两个模型:

SkillnamesSkills

User可以创建skillnameskill,在skills model我有一个参考“ skill_id”,这意味着当我这样做时,Skillname.where(:id => @skill.skill_id)它会给我回名字。

现在我对某事感到非常困惑。我已经创建了一个搜索 usingPG_Search和 using associated_against,现在我可以使用 Skill_id 搜索用户的技能(这不是那么聪明)我想知道我是否可以在技能模型中创建类似的东西:

虚拟属性:

  def skillname=(skillname)
    Skill.where(:skill_id => Skillname.where(:name => skillname).first.id)
  end

更新:添加模型:

class Skill < ActiveRecord::Base
  include PgSearch
    attr_accessible :user_id, :skill_id
    belongs_to :user
end

class User < ActiveRecord::Base

  include PgSearch
  pg_search_scope :search, against: [:first_name, :last_name,:country],
                  :associated_against => {
                      :skills => :name,
                    }

end

class Skillname < ActiveRecord::Base
  include PgSearch
    belongs_to :user
    attr_accessible :user_id, :description, :name



end
4

0 回答 0