я получаю следующее, когда нажимаю обновить после снятия флажка полного времени. Если я закомментирую флажок, это не произойдет, но если я заменим на радио-кнопку то же самое.
NoMethodError в Users # обновление
Отображение app / views / users / _form.erb, где поднята строка # 26:
У вас есть нулевой объект, когда вы этого не ожидали!
Возможно, вы ожидали экземпляр Array.
Произошла ошибка при оценке nil.map
Извлеченный источник (около строки № 26):
23: <p>
24: <%= form.label :manager %>
25: <%#= collection_select( :user , :manager_id, @managers, :id, :full_name, {},{}) %>
26: <%= form.collection_select(:manager_id, @managers, :id, :full_name, {},{}) %>
27: </p>
28: <p>
29: <%= form.label :groups %>
полный источник
шаблон:
<% form_for @user, :url => user_path(@user) do |f| %>
<%= f.error_messages %>
<%= render :partial => "form", :object => f %>
<%= f.submit "Update" %>
<% end %>
частичный:
<p>
<%= form.label :login %><br />
<%= form.text_field :login %>
</p>
<p>
<%= form.label :first_name %><br />
<%= form.text_field :first_name %>
</p>
<p>
<%= form.label :last_name %><br />
<%= form.text_field :last_name %>
</p>
<p>
<%= form.label :rate %><br />
<%= form.text_field :rate %>
</p>
<p>
<%= form.label :full_time %><br />
<%= form.check_box :full_time %>
</p>
<p>
<%= form.label :manager %>
<%#= collection_select( :user , :manager_id, @managers, :id, :full_name, {},{}) %>
<%= form.collection_select(:manager_id, @managers, :id, :full_name, {},{}) %>
</p>
<p>
<%= form.label :groups %>
<%= form.collection_select(:group_ids, @groups, :id, :name, {}, {:multiple => true, :size => 15}) %>
</p>
а потом мой контроллер
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
flash[:notice] = 'User was successfully updated.'
format.html { redirect_to(@user) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
def new
@user = User.new
@managers = Group.find_by_name('management').users
@groups = Group.all
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @user }
end
end
# GET /users/1/edit
def edit
@user = User.find(params[:id])
@managers = Group.find_by_name('management').users
@groups = Group.all
end