Я хочу динамически создавать флажки с пользователями в базе данных, которые должны быть доступны (один или несколько). Тем не менее, я, видимо, делать что-то неправильно, потому что ниже код дает мне следующее сообщение об ошибке:undefined метод `each 'for nil: NilClass?
undefined method `each' for nil:NilClass
...
<% @users.each do |user| %> <--- the line with the error
контроллер:
class ProjectsController < ApplicationController
...
def new
@project = Project.new
@users = (current_user.blank? ? User.all : User.find(:all, :conditions => ["id != ?", current_user.id]))
end
...
end
вид (new.html.erb):
<%= form_for @project do |f| %>
<div class="alert alert-block">
<%= f.error_messages %>
</div>
<div class="text_field">
<%= f.label :title%>
<%= f.text_field :title%>
</div>
<div class="text_field">
<%= f.label :description%>
<%= f.text_field :description%>
</div>
<div class="dropdown">
<%= f.label :start_date%>
<%= f.date_select :start_date %>
</div>
<div class="dropdown">
<%= f.label :end_date%>
<%= f.date_select :end_date %>
</div>
<% @users.each do |user| %>
<%= check_box_tag "project[member_ids][]", user.id, @project.member_ids.include?(user.id), :id => "user_#{user.id}" %>
<%= label_tag "user_#{user.id}", user.first_name %>
<% end %>
<div class="checkbox">
</div>
<div class="submit">
<%= f.submit "Spara" %>
</div>
<% end %>
модель:
class Project < ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :user
has_many :tickets, :dependent => :destroy
... validations ...
attr_accessible :user_id, :title, :description, :start_date, :end_date
end
У меня есть пять пользователей в моей базе данных, поэтому таблица не пуста или ничего. Что я здесь делаю неправильно?
Я хотел бы предложить включить '@users = ... 'в операторе' create' вашего контроллера. –