У меня возникли проблемы с некоторыми проблемами начального уровня в Ruby, в частности с простым сохранением объекта в базе данных. Вот код
def add_user
firstName = params[:name];
email = params[:email];
user = User.new(:name=>'test', :email=>email)
puts "user name" + user.name
if user.save
puts "User saved"
end
end
К сожалению, это то, что генерируется после save
:
SQL (0.4ms) INSERT INTO "users" ("created_at", "email", "name", "updated_at")
VALUES (?, ?, ?, ?) [["created_at", Mon, 12 Mar 2012 17:24:52 UTC +00:00], ["email", nil], ["name", nil], ["updated_at", Mon, 12 Mar 2012 17:24:52 UTC +00:00]]
Все передается как nil
, несмотря на то, что я на самом деле жестко кодирую 'test'
в поле имени. Также puts "user.name" + user.name
выводит правильное имя. Модели данных совпадают для объекта User
.
Schema Information
Table name: users
id :integer # not null, primary key
name :string(255)
email :string(255)
created_at :datetime
updated_at :datetime
Так что я не совсем уверен, что происходит. Я пытался увидеть, если я должен использовать переменные экземпляра или нет, и я, кажется, продолжаю получать тот же результат. Это также похоже на выполнение всех шагов, которые я прочитал в любых книгах или учебных пособиях. Я что-то не так делаю?