我已经有普通用户注册并使用设计登录。我计划做的是为用户制作两个类别(让我们说A& B)。所以我运行命令rails generate devise A和视图相同。当我打开A / sign_up时,就会出现这个问题
设计/注册中的NoMethodError #new
Showing /app/views/devise/registrations/new.html.erb where line #11 raised:
undefined method `name' for #<A:0xc654e54>
Extracted source (around line #11):
<%= simple_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :validate => true) do |f| %>
<div>
<%= f.text_field :name, :validate => { :presence => true }, :placeholder => 'Full Name' %>
</div>
请建议出现导致此问题的原因。使用rails 3.2.8,设计2.2.3和ruby 1.9.3。在此先感谢:)
答案 0 :(得分:0)
#
的未定义方法`name'意味着Devise正在寻找具有方法或数据库列的模型A:name。
这将通过一个错误,除非你有一个名为A的模型,在模型定义中有devise:registerable,或者模型A没有:列的名称方法。
Devise通常与模型一起使用,如果你想要两种类型的用户,我建议你制作两个独立的模型UserA和UserB,并分别为每个模型添加Devise。