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

前端之家收集整理的这篇文章主要介绍了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)告诉表单构建器改用标签名称.

猜你在找的Ruby相关文章