2010-01-14 105 views
0

我想创建text_fieldsRails的嵌套形式

  • TITLE
  • 内容
  • 标签

形式我有帖子(标题,内容)和Tag(标签)的模型。标签是一个单独的文本字段。我需要做些什么才能将TAGS保存到标记模型中。假设我在TAGS字段中写入了“香蕉,果汁,新标签”,如何将其解析为数组,然后保存在标签模型中。

Thx!

回答

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是一个可怕的命名,但非常有效的选择。

1

Ryan Bates通过虚拟属性实现标签的screencast