私は3つのモデル:Deal、Zipcode、DealIncludeZipcodeを持っています。今 Ruby on Railsネストされたフォーム
は、関連は以下のようになります -ディールモデル:
私は、それをオフに私はDealIncludeZipcode.Butときから選択するように、複数の郵便番号をチェックボックスを選択することができているビューで今すぐclass Deal < ActiveRecord::Base
has_many :deal_include_zipcodes, dependent: :destroy
has_and_belongs_to_many :zipcodes, dependent: :destroy
accepts_nested_attributes_for :deal_include_zipcodes,:reject_if => :reject_include_zipcodes, allow_destroy: true
private
def reject_include_zipcodes(attributes)
if attributes[:deal_id].blank? || attributes[:zipcode_id].blank?
if attributes[:id].present?
attributes.merge!({:_destroy => 1}) && false
else
true
end
end
end
end
class Zipcode < ActiveRecord::Base
has_and_belongs_to_many :deals
end
class DealIncludeZipcode < ActiveRecord::Base
belongs_to :deal
belongs_to :zipcode
end
保存していないデータは保存します。
私は除外Zipcode機能が正しく機能しているZipcodeとDeal Modelに参加するために移行を使用しました。
解決策を提供してください。私は様々な方法を試しましたが、成功しませんでした。
私は知っている、私は郵便番号を除外するためにそれらを使用しています。 –
私は郵便番号を含む機能を持っています。ユーザーは、Jqueryで動作する郵便番号を選択することにより、郵便番号を含めたり除外したりすることができます。 zipcodeを含めるためのデータを結合テーブルとして保存する場所と方法には、郵便番号を除外するデータがあります。 –
私はまだあなたが理解しているとは思わない - あなたのコードは、関係が間違って定義されているので、 'DealIncludeZipcode'モデルを全く使用していません。 – max