0

クライアントと client_prices の 2 つのモデルがあります。クライアントの表示ページに 2 つのクライアント価格のネストされたフォーム セクションが必要です。ネストされたフォームの 1 つは非カスタム価格用で、もう 1 つはカスタム価格用です。非カスタム (カスタム == false) の価格には、編集可能な「カスタム」属性のみが含まれます。「カスタム価格」には、編集可能なすべての属性が含まれます。

いくつかの異なるアプローチを試しましたが、これを正しく機能させるための条件付きロジックをどこに配置すればよいかわかりません。私はフォームを生成するために simple_form を使用していますが、私はそれに結婚していません。

コントローラー

class Client < ActiveRecord::Base
    attr_accessible :name, :client_prices_attributes
    has_many :client_prices
    accepts_nested_attributes_for :client_prices, :allow_destroy => true

end


class ClientPrice < ActiveRecord::Base
  attr_accessible :client_id, :price, :visit_type, :id, :custom

  belongs_to :client
  belongs_to :default_price

end

クライアントショーページ

<%= simple_nested_form_for @client do |f| %>
    <%= f.fields_for :client_prices do |def_price_form| %>
        non-custom prices form here
    <%end%>
    <%= f.fields_for :client_prices do |def_price_form| %>
        custom prices form here
    <%end%>
<%end%>
4

1 に答える 1

0

次のことを試してください。

<%= simple_nested_form_for @client do |f| %>
  <%= f.fields_for :client_prices do |def_price_form| %>
    <%= if def_price_form.object.custom %>
      Here you fields for custom form      
    <% end %>
  <% end %>
<% end %>
于 2013-01-29T21:02:22.903 に答える