我有想要被抛弃的Contact模型(friendly_id gem)。通过使用“联系人”模型所属的“用户”模型中的“ user_name”列。
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id self.user.user_name, use: :slugged
但是在我的Rails控制台中输入Contact.find_each(&:save)
时出现此错误:
NoMethodError(用于联系人的未定义方法“用户”(调用 'Contact.connection'建立连接):类)
如何将我的关联模型用作子弹?
轨道版本:5.2.2 Friendly_id宝石:5.2.4
答案 0 :(得分:1)
FriendlyId始终使用方法作为条形文字的基础,对于上述问题,我认为您需要为user_name创建方法并在方法内部调用相关字段
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id :user_name
def user_name
user.user_name
end
end
答案 1 :(得分:1)
使用这种方式:
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id :user_name
def user_name
user.user_name
end
end