2017-04-09 34 views
1

在我的註冊頁面我有2場,與電子郵件和密碼,現在我嘗試添加新的字段名稱,所以文件/app/views/devise/registrations/new.html.erb/app/views/devise/registrations/edit.html.erb我加入添加一個新的領域會導致錯誤

<div class="form-group"> 
<%= f.label :name, "Name" %> 
<%= f.text_field :name, class: "form-control", :autofocus => true %> 
</div> 

和此編輯後,我的網站上顯示此錯誤:

Rendering devise/registrations/new.html.erb within layouts/application 

new.html.erb

<div class="panel panel-default"> 
    <div class="panel-heading"><h2>Registration</h2></div> 
    <div class="panel-body"> 


<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> 
    <%= devise_error_messages! %> 

      <div class="form-group"> 
      <%= f.label :name, "Name" %> 
      <%= f.text_field :name, class: 'form-control', :autofocus => true %> 
      </div> 



      <div class="form-group"> 
    <%= f.label :email %><br /> 
    <%= f.email_field :email, autofocus: true, class: 'form-control' %> 
    </div> 



    <div class="form-group"> 
    <%= f.label :password %> 
    <% if @minimum_password_length %> 
    <em>(<%= @minimum_password_length %> characters minimum)</em> 
    <% end %><br /> 
    <%= f.password_field :password, autocomplete: "off", class: 'form-control' %> 
    </div> 

    <div class="actions"> 
    <%= f.submit "Sign up", class: 'btn btn-primary' %> 
    </div> 
<% end %> 
    </div> 
     <div class="panel-footer"><%= render "devise/shared/links" %></div> 

    </div> 

我在某個地方犯了什麼錯誤?

__Edit

重啓後的Heroku我得到新的錯誤:

Completed 500 Internal Server Error in 2ms (ActiveRecord: 0.0ms) 
app/controllers/application_controller.rb:11:in `configure_permitted_parameters' 

我:/app/controllers/application_controller.rb

class ApplicationController < ActionController::Base 
    protect_from_forgery with: :exception 
    before_filter :configure_permitted_parameters, if: :devise_controller? 


    protected 


    def configure_permitted_parameters 

    devise_parameter_sanitizer.for(:sign_up) << :name 

    devise_parameter_sanitizer.for(:account_update) << :name 

    end 
end 
+0

請共享完整的錯誤 – Mayank

+0

編輯,之後重新開始新的未知誤差;/ – forschool

回答

1

試試這個:

class ApplicationController < ActionController::Base 
    protect_from_forgery with: :exception 
    before_filter :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:email, :password,:name) } 
    devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:email, :password,:name) } 
    end 
end 

here

希望這會有幫助..

+0

NoMethodError(未定義的方法'關於」爲#<設計:: ParameterSanitizer:0x007f0b4aba12e0>) : – forschool

2

試試這個,這對你有幫助。

class ApplicationController < ActionController::Base 
    before_action :configure_permitted_parameters, if: :devise_controller? 

    protected 

    def configure_permitted_parameters 
    added_attrs = [:username, :email, :password, :password_confirmation, :remember_me] 
    devise_parameter_sanitizer.permit :sign_up, keys: added_attrs 
    devise_parameter_sanitizer.permit :account_update, keys: added_attrs 
    end 
end 

或按照此鏈接,follow

+0

@forschool如果我解決了你的問題,請接受答案。 –

相關問題