根据活动/非活动状态管理成员列表

时间:2015-02-13 05:41:15

标签: ruby-on-rails ruby

我有一个会员模型拥有的红宝石程序

has_many:收入 收入

belongs_to:member

成员有两种



<div class="field">
    <%= f.label :kind %><br>
    <%= f.select :kind, ["active", "inactive"] %>
  </div>
&#13;
&#13;
&#13;

&#13;
&#13;
<div class="field">
    <%= f.label :member %><br>
    <%= collection_select(:earning, :member_id, Member.all, :id, :bd, {}, {:multiple => false}) %>
  </div>
&#13;
&#13;
&#13;

//////////////////////

我在赚取/ new.html.erb中创建了这个选择栏。但我实际上只想列出活跃成员。不是不活跃的成员。他们应该保持隐藏。我使用rails 4.2.0和ruby 2.0.0p598

1 个答案:

答案 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>