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

ruby-on-rails – 使用acts_as_taggable_on和ActiveAdmin操纵标

发布时间:2020-12-16 22:15:01 所属栏目:百科 来源:网络整理
导读:我有一个Post模型,我正通过ActiveAdmin访问.它也可以使用acts_as_taggable_on宝石标记.因此,管理员可以添加,编辑或删除特定帖子中的标签. 在管理面板中为资源添加标记功能的常规方法是在admin / posts.rb中执行此操作: ActiveAdmin.register Post do form d
我有一个Post模型,我正通过ActiveAdmin访问.它也可以使用acts_as_taggable_on宝石标记.因此,管理员可以添加,编辑或删除特定帖子中的标签.

在管理面板中为资源添加标记功能的常规方法是在admin / posts.rb中执行此操作:

ActiveAdmin.register Post do
  form do |f|
    f.inputs "Details",:multipart => true do
      f.input :tag_list
      # and the other irrelevant fields goes here
    end

    f.buttons
  end
end

但是,我想要从多个选择表单字段中选择标签,而不是在文本字段中手动输入(就像上面的代码一样).所以我试过这样做:

f.input :tag_list,:as => :select,:multiple => :true,:collection => ActsAsTaggableOn::Tag.all

但它不按预期工作.这实际上创建了一些带有名称整数值的新标签,并将其分配给该帖子.有人告诉我需要额外的代码才能工作.

任何关于如何做的线索?这是我的模型,以防万一:http://pastie.org/3911123

提前致谢.

解决方法

代替
:collection => ActsAsTaggableOn::Tag.all

尝试

:collection => ActsAsTaggableOn::Tag.pluck(:name)

将集合设置为Tag.all将使用标签的ID来标记您的帖子,因为这是标签的默认标识(这是名称的整数值来自哪里). map(&:name)告诉表单构建器改用标签的名称.

(编辑:李大同)

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

    推荐文章
      热点阅读