2012-03-15 24 views
3

我有一个与Person和Company模型多态关联的模型用户。friendly_id在创建新用户时发生错误

我正在使用friendly_id显示Person和Company的固定链接。

人有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 
+0

_But问题出现在我尝试创建引发路由错误的新用法时,请提供更多信息。你说有一个错误,但没有提供任何堆栈跟踪 – 2012-03-15 10:57:54

回答

2

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

在创建friendly_id时,相关联的记录和ID不会同步,self.user为零。

尝试在friendly_id中使用主键ID table-column-value的用户有类似的问题。

相关问题