从我实际的数据库抽象“无法使用id = 0找到模型”,我有模型1和模型2和模型1 has_and_belongs_to_many模型2和模型2 has_and_belongs_to_many型号1。在注册页面,我有以下几点:如何处理错误
= f.hidden_field :model2_ids
但做了注册,其中没有现有MODEL2的数据库的时候,我得到以下错误:
"Couldn't find Model2 with id=0"
在在PARAMS可以看到:
"model2_ids"=>"[]",
我想这个计算结果为NULL,这就是为什么我得到我的错误。我怎样才能解决这个问题?
更新:
通过在视图中设置一个条件,我能避免这个问题,一个注册在没有现有MODEL2的或以其他方式不被设置model2_ids。所述model2_ids正在在所述控制器通过邀请模型中设置,并且在一些情况下,注册有一个邀请,其中该邀请模型指定MODEL2。在示例中的情况下,我看到PARAMS:
"model2_ids"=>"[1]",
不过,我从服务器日志相同的错误,并输出如下:
Invitation Load (1.2ms) SELECT "invitations".* FROM "invitations" WHERE "invitations"."token" = '80c98940448829e7edc623f9886e6930434e245c' LIMIT 1
Model2 Load (51.8ms) SELECT "model2s".* FROM "model2s" WHERE "model2s"."id" = $1 LIMIT 1 [["id", 0]]
Completed 404 Not Found in 222ms
ActiveRecord::RecordNotFound (Couldn't find Listing with id=0):
app/controllers/registrations_controller.rb:12:in `create'
是什么原因造成的?模型1的
你能后的模型你用来创建关联的代码? – paniwani 2012-04-26 04:39:53
如果要重定向登录成功之后,用户? – Suborx 2012-04-26 05:20:16