加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 友好ID – 未定义方法`slug =’for

发布时间:2020-12-16 19:32:40 所属栏目:百科 来源:网络整理
导读:我正在使用宝石Workflow,Paper Trail和Friend ID. 要使用Paper Trail跟踪状态更改,我已重写persist_workflow_state以显式更新工作流列,以便Paper Trail可以捕获更改. https://github.com/geekq/workflow#integration-with-activerecord def persist_workflow
我正在使用宝石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>

有帮助吗?

解决方法

Now,I have introduced Friendly ID without slug column

我不知道你在这里究竟是什么意思,但简单来说,就像试着没有钥匙就开车

FriendlyID

FriendlyID的工作方式是使用slug(或其他标识符)列来创建slugged URL,并根据slugged ID查找:

extend FriendlyId
friendly_id :name,use: [:slugged,:finders]

这允许gem基于id或slug属性进行查找

如果你错过了slug列,这将阻止它工作,导致你的错误.解决这个问题的方法是:

>使用slug柱
>使用attr_accessor创建一个slug属性

如果您想尝试第二个选项,可以试试这个:

#app/models/ModelName.rb
attr_accessor :slug

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读