我有一个表单需要根据选择框中的不同选项进行更改。我需要的选择框有以下选项:Pay & Gifts(显示两个字段)、Pay Only(仅显示支付字段)、Gifts Only(仅显示礼物字段)。
这涉及 2 个属性,:pay 和:gifs。有没有办法让两个属性都有一个 f.collection 选择框?我知道我可能不得不使用 jquery 来显示和隐藏表单字段,并且这些字段是强制性的 (validates_presence_of) 基于选择...有关如何执行此操作的任何建议?
_rewards_step.html.erb
<h2>rewards</h2>
<p>
<%= f.collection_select :pay, Upload::REWARDS, :to_s, :to_s %>
</p>
<p id="payfields">
<%= f.label :pay %><br />
<%= f.text_field :pay %>
</p>
<p id="giftsfields">
<%= f.label :gifts %><br />
<%= f.text_field :gifts %>
</p>
上传.rb
class Upload < ActiveRecord::Base
attr_accessible :pay, :gifts
attr_writer :current_step
validates_presence_of :pay, :if => lambda { |u| u.current_step == "rewards" }
validates_presence_of :gifts, :if => lambda { |u| u.current_step == "rewards" }
REWARDS = ['Pay & Gifts', 'Pay Only', 'Gifts Only']