text_fields でフォームを作成したい
- 題名
- コンテンツ
- タグ
私は投稿(TITLE、CONTENT)とタグ(TAGS)モデルを持っています。TAGS は単一のテキスト フィールドです。TAGS をタグ モデルに保存するにはどうすればよいですか。TAGS フィールドに「バナナ、ジュース、新しいタグ」と書いたとします。これを配列に解析して、タグ モデルに保存するにはどうすればよいでしょうか。
どうも!
text_fields でフォームを作成したい
私は投稿(TITLE、CONTENT)とタグ(TAGS)モデルを持っています。TAGS は単一のテキスト フィールドです。TAGS をタグ モデルに保存するにはどうすればよいですか。TAGS フィールドに「バナナ、ジュース、新しいタグ」と書いたとします。これを配列に解析して、タグ モデルに保存するにはどうすればよいでしょうか。
どうも!
Ryan Bates が、仮想属性によるタグの実装に関するスクリーンキャストを公開しています。
それを行うには、モデルでセッター メソッドを使用します。
ビューは次のようになります。
<% 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 は恐ろしい名前ですが、非常に効果的なオプションです。