使用ActiveAdmin和Friendly_id时的ActiveRecord :: ReadOnlyRecord错误通常是由于在尝试更新或删除一个已经被标记为只读的记录。这可能是由于在使用ActiveAdmin和Friendly_id时,某些设置或配置不正确导致的。
以下是一些可能的解决方案:
ActiveAdmin.register Post do
# 配置资源
end
friendly_id
方法,并指定一个唯一的字段作为slug。例如:class Post< ApplicationRecord
extend FriendlyId
friendly_id :title, use: :slugged
end
ActiveAdmin.register Post do
form do |f|
f.inputs "Details" do
f.input :title
f.input :content
end
f.actions
end
end
ActiveAdmin.register Post do
controller do
def create
create! { admin_post_path(resource) }
end
def update
update! { admin_post_path(resource) }
end
end
end
friendly_id
约束,以便正确解析slug。例如:Rails.application.routes.draw do
get ':slug' => 'posts#show', as: :post, constraints: { slug: /.*/ }
end
如果您仍然遇到问题,请检查您的代码和配置,并确保您已经正确实现了ActiveAdmin和Friendly_id的所有必要组件。如果您需要进一步的帮助,请随时向我们咨询。
领取专属 10元无门槛券
手把手带您无忧上云