Rails的嵌套形式
问题描述:
我想创建text_fieldsRails的嵌套形式
- TITLE
- 内容
- 标签
形式我有帖子(标题,内容)和Tag(标签)的模型。标签是一个单独的文本字段。我需要做些什么才能将TAGS保存到标记模型中。假设我在TAGS字段中写入了“香蕉,果汁,新标签”,如何将其解析为数组,然后保存在标签模型中。
Thx!
答
在模型中使用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是一个可怕的命名,但非常有效的选择。
Jup ...但我有复杂的SQL,无法与插件一起玩。 – xpepermint 2010-01-14 09:55:54