ruby-on-rails – 友好ID – 未定义方法`slug =’for
我正在使用宝石Workflow,Paper Trail和Friend ID.
要使用Paper Trail跟踪状态更改,我已重写persist_workflow_state以显式更新工作流列,以便Paper Trail可以捕获更改. https://github.com/geekq/workflow#integration-with-activerecord def persist_workflow_state(new_value) update_attribute self.class.workflow_column,new_value end 现在,我已经介绍了没有slug列的Friendly ID,并且在达到上述方法后我得到了错误. undefined method `slug=' for #<ModelName:0x007f81cf342cd8> 有帮助吗? 解决方法
我不知道你在这里究竟是什么意思,但简单来说,就像试着没有钥匙就开车 FriendlyID FriendlyID的工作方式是使用slug(或其他标识符)列来创建slugged URL,并根据slugged ID查找: extend FriendlyId friendly_id :name,use: [:slugged,:finders] 这允许gem基于id或slug属性进行查找 如果你错过了slug列,这将阻止它工作,导致你的错误.解决这个问题的方法是: >使用slug柱 如果您想尝试第二个选项,可以试试这个: #app/models/ModelName.rb attr_accessor :slug (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |