对此进行谷歌搜索,我看到 Rails 核心团队正在研究 Rails 4 的解决方案,但那还有很长的路要走。
两者Users
都有Circles
关系has_and_belongs_to_many
。
我的架构如下所示:
create_table "circles", :force => true do |t|
t.string "name"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "circles_users", :force => true do |t|
t.integer "circle_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "users", :force => true do |t|
t.string "name"
t.string "email"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "password"
end
但是在我的代码中,circles_controller
当我尝试这样做时:
def create
@circle = Circle.new(params[:circle])
@circle.users << User.find(session[:user].id)
...
我在浏览器中收到以下错误:
SQLite3::ConstraintException: circles_users.created_at may not be NULL: INSERT INTO "circles_users" ("circle_id", "user_id") VALUES (11, 5)
我应该怎么created_at
做updated_at
?