我有联系模式我想要被击败(friendly_id gem)。通过使用Contact模型所属的User模型中的user_name列。
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id self.user.user_name, use: :slugged
但是在我的rails控制台中键入Contact.find_each(&:save)
我收到此错误:
NoMethodError(未定义的方法`user'for Contact(调用'Contact.connection'建立连接):Class)
如何将我的相关模型用作slug?
Rails版本:5.2.2 Friendly_id gem:5.2.4
FriendlyId总是使用方法作为slug文本的基础,对于上面的问题,我认为你为user_name创建方法并在方法中调用相关字段
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id :user_name
def user_name
user.user_name
end
end
使用这种方式:
class Contact < ApplicationRecord
belongs_to :user
extend FriendlyId
friendly_id :user_name
def user_name
user.user_name
end
end