friendly_id在创建新用户时出现错误

时间:2012-03-15 05:28:58

标签: ruby-on-rails friendly-id

我有一个与Person和Company模型多态关联的模型User。

我正在使用friendly_id来显示人员和公司的永久链接。

Person有first_name属性,我在模型中添加了以下内容。

extend FriendlyId
friendly_id :first_name

现在,当我更新现有条目时,slug会完美地创建。但是当我尝试创建一个抛出路由错误的新用法时会出现问题。

其次,每个人都有一个用户,用户有一个用户名,所以当我尝试以下命令时,更新和新记录都会抛出未知方法用户名,因为nil类错误。

extend FriendlyId
friendly_id :person_permalink, use: [:slugged, :history]

def person_permalink
  "#{self.user.username} #{self.name}"
end

1 个答案:

答案 0 :(得分:2)

我认为这可能与friendly_id上的before_save有关。

在创建friendly_id且self.user为零时,关联的记录和ID很可能不同步。

尝试在friendly_id中使用主键ID表列值的人也存在类似的问题。