0

我想用 text_fields 创建表单

  • 标题
  • 内容
  • 标签

我有 Post (TITLE, CONTENT) 和 Tag (TAGS) 模型。TAGS 是单个文本字段。我需要做什么才能将 TAGS 保存到 Tag 模型。假设我在 TAGS 字段中写了“香蕉,果汁,新标签”,如何将其解析为数组,然后保存在标签模型中。

谢谢!

4

3 回答 3

1

你看过http://github.com/jviney/acts_as_taggable_on_steroids/这应该会让你的生活更轻松。

于 2010-01-14T09:45:21.107 回答
1

在您的模型中使用 setter 方法来执行此操作。

您的视图将如下所示:

<% form_for @post :url => { :action => "update" } do |post_form| %>
  Title: <%= post_form.text_field :title %>
  Content: <%= post_form.text_field :content %>
  Tags: <%= post_form.text_field :tag_field %>
<% end %>

然后在您的模型中,您将拥有如下模型:

def tag_field=(field_data)
  field_data.split.each { |tag| tags.build(:name => tag) }
end

编辑:正如已经提到的,有一些插件可以为你做这件事,acts_as_taggable_on_steroids 是一个可怕的名字,但非常有效的选择。

于 2010-01-14T09:52:09.713 回答
1

Ryan Bates 有一个关于通过虚拟属性实现标签的截屏视频。

于 2010-01-14T10:19:55.203 回答