我有一个会员模型拥有的红宝石程序
has_many:收入 收入
belongs_to:member
成员有两种
<div class="field">
<%= f.label :kind %><br>
<%= f.select :kind, ["active", "inactive"] %>
</div>
&#13;
<div class="field">
<%= f.label :member %><br>
<%= collection_select(:earning, :member_id, Member.all, :id, :bd, {}, {:multiple => false}) %>
</div>
&#13;
//////////////////////
我在赚取/ new.html.erb中创建了这个选择栏。但我实际上只想列出活跃成员。不是不活跃的成员。他们应该保持隐藏。我使用rails 4.2.0和ruby 2.0.0p598
答案 0 :(得分:1)
您需要在 Member
模型中定义scope
class Member < ActiveRecord::Base
scope :active_members, -> { where(kind: 'active') }
end
并在 collection_select
中使用此功能
<div class="field">
<%= f.label :member %><br>
<%= collection_select(:earning, :member_id, Member.active_members, :id, :bd, {}, {:multiple => false}) %>
</div>