Rails:将 friendly_id/slug 与关联模型中的列一起使用
Rails: Using friendly_id/slug with column from associated model
我有 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 (undefined method `user' for Contact (call
'Contact.connection' to establish a 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
我有 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 (undefined method `user' for Contact (call 'Contact.connection' to establish a 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