我正在尝试使用标记设置博客,并且在尝试保存时遇到了问题。
我有3个模特
博客模型
has_many :blog_tags
has_many :tags, :through => :blog_tags
blog_tag模型
belongs_to :blog
belongs_to :tag
标记模型
[nothing]
当我发布我的博客表单时,我得到一个输入字段,其中包含我想在blog_tags表格中创建的逗号分隔的标签列表。
我一直在尝试一些不同的东西,最终得到了这个
@blog_tags = params[:blog][:tags].split(",")
@blog_tags.each do |tag|
@tag = Tag.find_by_tag(tag)
@blog.tags.push(@tag)
end
似乎工作除了它抱怨父母没有被创建,并在第二次尝试它给我一个错误尝试拆分字符串“string1”,我猜是由于没有任何逗号。
我真的希望你们中的一个人可以帮助我,或者至少让我指向正确的方向: - )
谢谢!
答案 0 :(得分:1)
我会去寻找宝石。例如,尝试https://github.com/mbleigh/acts-as-taggable-on。
答案 1 :(得分:0)
我认为你只需要处理params[:blog][:tags]
没有逗号的情况。在这种情况下,整个字符串是一个标记,所以只需添加它。
您可能还需要处理诸如“ruby,rails”之类的情况,即确保标签不为空。