我有:
price_plan.rb - 此型号具有布尔属性:隐藏
has_many :users
user.rb
belongs_to :price_plan
用户编辑表单中的:
<%= f.association :price_plan, as: :radio_buttons, required: true, label: 'Select plan', hidden: ?????????? %>
我该怎么做?我试过这种方式:hidden: lambda{ |price_plan| price_plan.hidden }
它没有用。
答案 0 :(得分:1)
很抱歉,如果我不清楚我的问题。这就是我需要的:
<强> price_plan.rb 强>
scope :public_plan,-> { where(hidden: false) }
形式:
<%= f.association :price_plan, :collection => PricePlan.public_plan, as: :radio_buttons, required: true %>
答案 1 :(得分:0)
请尝试以下代码。
<%= f.association :price_plan, as: :radio_buttons, required: true, label: 'Select plan', disabled: lambda{ |price_plan| price_plan.hidden? } %>
要隐藏,您可以尝试以下代码。希望它有效。
<% display_none = 'display:none' %>
<% display_block = 'display:block' %>
<%= f.association :price_plan, as: :radio_buttons, required: true, label: 'Select plan', style: "#{ lambda{ |price_plan| price_plan.hidden? } ? display_none : display_block }" %>
答案 2 :(得分:0)
仍然不确定我是否理解确切的目标,但这更接近你正在寻找的目标吗?
<% if f.price_plan %>
<%= f.association :price_plan, as: :radio_buttons, required: true, label: 'Select plan' %>
<% else %>
<% f.hidden_field :price_plan %>
<% end %>