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

我有一个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)告诉表单构建器改用标签名称.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...