2014-12-27 1 views
0

У меня есть модель с Подтверждает:Пишет базы данных пустых записей при проверке проверки

attr_accessor :name, :username, :email, :password 

validates :name, :presence => { allow_blank: false, message: "Имя не может быть пустым" } 
validates :username, :presence => { allow_blank: false, message: "Имя пользователя не может быть пустым" } 
validates :email, :presence => { allow_blank: false, message: "Эл. адрес не может быть пустым" } 

СОЗДАТЬ Защиту:

def create 
@user= User.new(user_params) 
if @user.save 
redirect_to "http://bookworm.az:3000" 
else 
     session[:name] [email protected] 
     session[:username] [email protected] 
     session[:email] [email protected] 

     error [email protected]_a.to_sentence(two_words_connector:',') 
     delimeter = error.split 
     error = error.gsub(delimeter[0], '') 

     show_error = error.split(",") 

     flash[:notice] = show_error[0] 
     redirect_to :back 
end 
end 

Когда я удалить все Подтверждает проверки все это избавляет пользователя в базе данных , Но с подтверждениями LOG распечатывает:

INSERT INTO "users" DEFAULT VALUES RETURNING "id" 

В чем проблема?

UPDATE

def user_params 
    params.require(:user).permit(:name, :username, :email, :password) 
end 
+0

Можете ли вы ввести метод 'user_params'? –

+0

Несомненно! Я добавляю метод user_params –

ответ

0

attr_accessor является переопределение атрибутов рельсов. Попробуйте удалить его, и он должен работать.

Прочтите answer по аналогичной проблеме.

Смежные вопросы