これを修正する方法についてどこでもグーグルで調べた後、質問を投稿することにしました。カスタム アクション「create_pro」を Devise 登録コントローラーに追加して、追加のフィールドを持つユーザー (プロ ユーザー) を作成できるようにしようとしています。このフォームは、ユーザーのデバイス作成アクションと同じページにあります。
フォームを送信した後、次のエラーが表示され続けます。
不明なアクション
Devise::RegistrationsController のアクション 'create_pro' が見つかりませんでした
どうすればこれを修正できますか?
ルート
devise_for :users,:controllers => { :registrations => "registrations" }
devise_scope :user do
post "gopro", :to => "devise/registrations#create_pro"
end
登録コントローラー
class RegistrationsController < Devise::RegistrationsController
before_filter :authenticate_user!, :only => :token
def new
super
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:notice] = "Welcome to Banking Analytics."
redirect_to '/mybank'
else
render :action => :new
end
end
def create_pro
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:notice] = "Welcome to Banking Analytics."
redirect_to '/mybank'
else
render :action => :new
end
end
end
意見
<div class="signup_form_basic">
<%= simple_form_for @user, :url => url_for(:controller => 'registrations', :action => 'create_pro') do |f| %>
<%= f.error_notification %>
<%= f.input :email, :required => true, :autofocus => true, :label => 'Username ( Your Email )', :placeholder => 'Email Address' %>
<%= f.input :password, :required => true, :autofocus => true, :label => 'Password', :placeholder => 'Password' %>
<%= f.input :password_confirmation, :required => true, :autofocus => true, :label => 'Confirm Password', :placeholder => 'Password Confirmation' %>
<%= f.button :submit, "Sign Up >>", class: 'btn btn-inverse' %>
<% end %>
</div>