设计/注册中的NoMethodError #new

时间:2014-04-28 06:01:15

标签: ruby-on-rails ruby ruby-on-rails-3 devise ruby-on-rails-3.2

我已经有普通用户注册并使用设计登录。我计划做的是为用户制作两个类别(让我们说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。在此先感谢:)

1 个答案:

答案 0 :(得分:0)

的未定义方法`name'

意味着Devise正在寻找具有方法或数据库列的模型A:name。

这将通过一个错误,除非你有一个名为A的模型,在模型定义中有devise:registerable,或者模型A没有:列的名称方法。

Devise通常与模型一起使用,如果你想要两种类型的用户,我建议你制作两个独立的模型UserA和UserB,并分别为每个模型添加Devise。