Я просматривал это предыдущее сообщение об использовании флажков для фильтрации результатов в Rails, но немного потеряно. Я новичок в программировании, но хочу фильтровать пользователей на моей странице индекса в зависимости от того, какие данные профиля проверяются на боковой панели. В идеале страница индекса должна начинаться со всех пользователей, а затем фильтроваться в зависимости от флажков. Вот соответствующая информация из моих моделей User и Profile, контроллера пользователя и файла index.html.erb:
Модель пользователя:
class User < ActiveRecord::Base
attr_accessor :password, :email
validates :email, :uniqueness => true,
:length => { :within => 5..50 },
:format => { :with => /^[^@][\w.-]+@[\w.-]+[.][a-z]{2,4}$/i }
validates :password, :confirmation => true,
:length => { :within => 4..20 },
:presence => true,
:if => :password_required?
has_one :profile, :dependent => :destroy
Модель профиля:
class Profile < ActiveRecord::Base
attr_accessible :field_1, :field_2, :field_3, :field_4...
belongs_to :user
Пользовательский контроллер:
def index
@user = User.all
end
index.html.erb:
<% form_for 'user' do |f| %>
<table id="Criteria">
<tr>
<td class="main head">Fields</td>
<td></td>
</tr>
<tr>
<td class="head">Field_1:</td>
<td></td>
</tr>
<tr>
<td class="normal"><%= current_user.profile.field_1 %></td>
<td><% check_box_tag :field_1 %></td>
</tr>
Если кто-нибудь может помочь объяснить это, я буду очень признателен! (И если потребуется дополнительная информация, дайте мне знать.)