2010-01-14 148 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