Я пытаюсь изменить все поля default_standing на FALSE для всех остальных записей, когда кто-то помечает одно как ИСТИНА.Таким образом, у меня будет только одна запись по умолчанию в таблице.Вот что я делаю в создании и обновлении моего контроллера, но, похоже, он не работает:
def update
@standing = Standing.find(params[:id])
if @standing.default_standing
@standings = Standing.where(["default_standing = ? AND id != ?", true, params[:id]])
@standings.each do |s|
s.default_standing = false
s.save!
end
end
respond_to do |format|
if @standing.update_attributes(params[:standing])
format.html { redirect_to(@standing, :notice => 'Standing was successfully updated.') }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @standing.errors, :status => :unprocessable_entity }
end
end
end