对于像我这样的初学者来说,绝对没用是(他们的文档,它没有说明哪个代码需要在哪个文件中),我想我可能会在这里为我的Rails 4应用程序而不是官方文档提供更好的帮助。
我不确定act-as-taggable-on是否是我问题的最佳解决方案,但这是我正在尝试做的事情:我正在创建一个使用标签而不是类别的业务目录,以便酒吧/休息室可同时属于酒吧和休息室。 也许有人知道更好的解决方案,而不是使用act-as-taggable-on?
当我尝试创建或查看标签时没有错误,但问题是标签没有被保存。当我尝试查看具有标记的业务时,它显示为空。当我尝试编辑它时也一样。
这就是我的模型:
class Business < ActiveRecord::Base
validates :name, uniqueness: true
acts_as_taggable
acts_as_taggable_on :tag_list
end
表格:
<%= form_for(@business) do |f| %>
...
<div class="field">
<%= f.label :tag_list, "Tags (seperated by commas)" %><br>
<%= f.text_field :tag_list %>
</div>
...
<% end %>
观点:
<p>
<strong>Tags:</strong>
<%= @business.tag_list %>
</p>
任何人都知道阻止查看/保存标记的原因是什么? 也许有人可以提供更好的文档。
更新:我还使用了 Active_Admin ,根据Matt Boldt,这似乎导致了一些问题。在完成他的教程后,我的问题仍然没有解决。
答案 0 :(得分:2)
可能是阵列问题?不确定。你在使用什么版本的acts_as_taggable?
尝试添加强力参数来请求数组。
def business_params
params.require(:business).permit(:xxx, :xxx, :tag_list => [])
end
答案 1 :(得分:1)
我遇到了同样的问题并且正在改变:tag_list =&gt; [] with:tag_list修复它
我想这取决于你在表单中使用的输入类型,在我的例子中是文本输入
def business_params
params.require(:business).permit(:xxx, :xxx, :tag_list)
end
答案 2 :(得分:0)
我遇到了同样的问题并检查了终端以查看错误发生的位置,我得到了这个
Unpermitted parameters: tag_list
我忘了在我使用标签的模型中添加:tag_list到控制器中的强params接受属性。试试吧!