无法使用ActsAsTaggableOn保存标签

时间:2015-03-26 01:07:51

标签: ruby-on-rails ruby-on-rails-4 acts-as-taggable-on

通过控制台我可以保存标签但是通过View中的表单我无法保存标签。

在模型中:

class Person < ActiveRecord::Base
    has_many :user
    has_paper_trail
    acts_as_taggable

    @tags = Person.tag_counts_on(:tags)

    def admin_permalink
    admin_post_path(self)
  end
end

read我应该在模型中包含attr_accessible :tag_list,但这样做会导致Rails 4出错。我的表单部分有

  <%= f.label :tag_list, "Tags (separated by commas)" %><br />
  <%= f.text_field :tag_list %>

非常感谢任何帮助,谢谢

1 个答案:

答案 0 :(得分:1)

而不是&#39; tag_counts_on(:tags)&#39; 试试&#39; acts_as_taggable_on:tags&#39;


将帖子
我通过修复大量已弃用的语法和错误使用ruby代码来解决它
1 首先,该错误的原因是因为您没有正确列入白名单 :tag_list 属性。

def person_params
  params.require(:person).permit(:name, :twitter, :facebook, :instagram, :vine, :tag_list => [])
end


def person_params
  params.require(:person).permit(:name, :twitter, :facebook, :instagram, :vine, :tag_list)
end

2。我认为您遵循了某种教程吗?我看到了恰到好处的一篇文章中的类似代码,并且是2012年写的。 以下是很好的做法,但总是检查日期。

3. 我建议您至少将Rails升级到v4.1.0 因为你的Active Admin gem抱怨下面对Rails v4.1.0的支持很快就会被删除。

4. 我发现标签的属性不正确,即:标签,因此我将其更改为:tag_list。

<div class="field">
<%= f.label :tag_list, "Tags (separated by commas)" %><br />
<%= f.text_field :tag_list %>
</div>


preview

您可以从 https://github.com/seoyoochan/adriangrantdotorg-urbanbook

克隆此回购