以下是导致错误的原因的示例:
ruby-1.9.2-p290 :004 > Post.new(title: "new").save!
(0.3ms) BEGIN
post Load (0.3ms) SELECT `posts`.* FROM `posts` WHERE (`slug` = 'new' OR `slug` LIKE 'new--%') ORDER BY LENGTH(`slug`) DESC, `slug` DESC LIMIT 1
(0.3ms) SELECT 1 FROM `posts` WHERE `posts`.`lsi_post_id` = BINARY '' LIMIT 1
(0.1ms) ROLLBACK
ActiveRecord::RecordInvalid: Validation failed: Friendly is reserved
我想在 Post 模型中添加一些内容,这些内容可能会用“-”或类似的内容替换新单词,但我不知道从哪里开始。
谢谢你!
使用答案daemonsy and 铁板裤我想出了这个,它悄悄地将“new”重命名为“new2”,将“edit”重命名为“edit2”,并保留其他所有内容与以前一样:
class Page < ActiveRecord::Base
extend FriendlyId
friendly_id :friendly_id_title, use: :slugged
def friendly_id_title
case title.parameterize
when 'new' then 'new2'
when 'edit' then 'edit2'
else title
end
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)