0

这是我的迁移

create_table :customers do |t|
  t.string "name", :limit => 25 , :null => false
  t.string "email", :limit => 25, :null => false
  t.string "question", :limit => 255 , :null => true
  t.integer "status", :limit => 1, :default => 0, :null => false
  t.timestamps
end

现在,在模型中,我想使用以下代码插入一个值:

Customers.new(:name => name, :email => email, :question => question, :status => 1)

但是值没有插入到表中,为什么?

4

2 回答 2

2

因为你还没有真正保存它。

customer = Customer.new(:name => name, :email => email, :question => question, :status => 1)
if custom.save
  // Saved succefully
else
  // Failed to save
end

或者只是create使用

customer = Customer.create!(:name => name, :email => email, :question => question, :status => 1)

使用 bang after create,如果失败,它应该会引发错误。

于 2013-04-21T09:31:10.750 回答
0

如果要插入一行,则需要使用如下创建方法

Customers.create(:name => name, :email => email, :question => question, :status => 1)

否则,您需要创建新对象,然后需要使用 save 方法在 DB 中创建新记录,如下所示

customer = Customers.new(:name => name, :email => email, :question => question, :status => 1)
customer.save

如果您需要更多说明,请告诉我。

于 2013-04-21T09:36:28.780 回答