使用 activeadmin 管理acts_as_taggable 标签

Posted

技术标签:

【中文标题】使用 activeadmin 管理acts_as_taggable 标签【英文标题】:Manage acts_as_taggable tags with activeadmin 【发布时间】:2013-07-17 11:10:43 【问题描述】:

有可能吗?我正在尝试:

ActiveAdmin.register ActsAsTaggableOn::Tag do

end

但我收到一个错误:

undefined method `per_page_kaminari' for ActsAsTaggableOn::Tag(id: integer, name: string, info: text):Class`

【问题讨论】:

你想在这个页面上显示什么?标签列表? 带有索引和过滤器的标准活动管理资源页面 其他型号呢?它们是否显示没有错误?如果您在项目中使用 will_paginate,则 kaminari 和 will_paginate 之间存在冲突。 嘿,Meliborn,我上次的编辑对你有帮助吗?如果不是,我将不得不删除我的垃圾答案;) 是的,它有效,谢谢。 【参考方案1】:

尝试一下:

ActiveAdmin.register ActsAsTaggableOn::Tag.class_eval do
  ....
end

admin/tags.rb 中,如果你的 Gemfile 中有 will_paginate,你将需要这个

#fix for active_admin
Kaminari.configure do |config|
  config.page_method_name = :per_page_kaminari
end

放入 config/initializers/kaminari.rb ,文件名无所谓。重启应用。

编辑 - 另一个想法:

acts_as_tagable 创建一个表tags

所以你只需在app/models 中创建一个模型tag.rb

class Tag < ActiveRecord::Base
end

在 app/admin/tags.rb 中:

ActiveAdmin.register Tag do
end

我已经以这种方式使用它并且它可以工作,无法向您显示管理表。 :) 将很快发布屏幕截图。

【讨论】:

我已经有了带有此代码的 kaminari 初始化程序。 Class_eval 向我抛出 未提供块 错误。 我在 ActsAsTaggableOn、Kaminari、WillPaginate 和 RailsAdmin 上遇到了同样的问题。创建Tag 类并在RailsAdmin 中使用它config.included_models 而不是ActsAsTaggableOn::Tag 对我有用。

以上是关于使用 activeadmin 管理acts_as_taggable 标签的主要内容,如果未能解决你的问题,请参考以下文章

从activeadmin批处理操作下载zip文件

Rails ActiveAdmin active_admin_form_for 提交按钮已禁用

联系人的 ActiveAdmin 详细信息转到名称相似的页面

ActiveAdmin:无法批量分配受保护的属性:电子邮件、密码、密码确认

设置activeadmin gem后的Rails api脚手架问题

如何在ActiveAdmin中保持UI和内容本地化