有没有可能在Rails 3.0.3应用程序中安装Devise 1.1.8,它会以某种方式干扰非devise模型/控制器的正常验证?
在我的应用程序中,有一个绑定到Devise的用户模型。此外,还有一个带有属性的患者模型: mobile。(我们为医疗保健应用程序收集移动患者数量。)
类Patient < ActiveRecord::Base
#validates_presence_of :mobile,:message =>“必须提供”
结束
上面的代码抛出了以下错误:
当你没有预料到的时候,你有一个空对象!您可能需要ActiveRecord::Base的实例。评估nil.errors时出错
--和--提取的源代码(在第12行附近):
9: <h2><%= pluralize(@patient.errors.count, "error") %> prohibited this subscriber from being saved:</h2>
10:
11: <ul>
12: <% @subscriber.errors.full_messages.each do |msg| %>
13: <li><%= msg %></li>
14: <% end %>
15: </ul>顺便说一句,Devise可以很好地在新用户出错时显示错误消息(比如没有提供密码)。
此外,删除:message =>“必须提供”也会产生完全相同的错误。
谢谢。
发布于 2011-07-16 00:48:40
@subscriber和@patient是不同的实例变量。您可能只打算使用其中的一个,并确保它实际上已被初始化。
https://stackoverflow.com/questions/6709790
复制相似问题