【RoR】Ruby on Rails Part18at PHP【RoR】Ruby on Rails Part18 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト294:nobodyさん 14/04/24 01:05:04.94 Xeh6xycu class Product < ActiveRecord::Base has_many :tagging, has_many :tags, :through=>:tagging end class Tag < ActiveRecord::Base has_many :tagging has_many :products, :through=>:tagging validates :text, :presence=>true, :uniqueness=>true end class Tagging < ActiveRecord::Base belongs_to :product belongs_to :tag end こういう状態で、ProductのページでTagも追加するようなフォームを作っているのです。 = form_for(@product) do |f| = f.fields_for :tags do |f2| = f2.hidden_field :id = f2.text_field :text しかし、 ①入力したタグがDBに存在しない場合は、tagsに新レコード追加し、taggingも更新 ②入力したタグがDBに存在する場合は、taggingだけ更新 という挙動を期待しているのに、実際は、POSTされたtagsのパラメーターにidが存在しない場合は、 常にtagsを新規作成しようとしてしまいます(結果として、ユニーク制約に引っ掛かってエラー) 望むような挙動をさせたい場合はどうすればいいのでしょうか? 既存のtagはセレクトボックス、新規作成の場合はテキストボックスなどでわけられるのが理想なのですが・・・ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch