【发布时间】:2012-03-08 00:53:20
【问题描述】:
由于当前应用程序的灵活性有限,我将关闭acts_as_taggable_on。相反,我从头开始构建我的标签作为它们自己的模型。但是,我已经错过了表单的“@model.tag_list”方法,它会拆分以逗号分隔的用户输入并制作单独的标签。我的“可标记”模型是一个视频,我很好奇如何编写一个本质上可以像“tag_list”一样工作的方法?
例子:
<%= form_for @video do %>
<%= f.text_field :tag_list %>
....
给定输入:"one, two, three"
将构建三个标签作为@video 的子项。
@video.tags.each do |tag|
puts tag.name
end
=> one
two
three
编辑
我真的很喜欢 Tag 模型中的这个,以保持表单混乱我的控制器。也许作为自定义属性?也许视频模型会更有意义?我知道如何制作自定义方法来返回自定义数据,但不分配它。一些研究以这种方式指出我(尚未测试)
video.rb
def tag_list=value
value.split(',').each do |tag|
self.tags.build(:name => tag).save
end
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 model acts-as-taggable-on