我有設計和CanCan設置,但我試圖進入我的rails應用程序中的註冊頁面,但它將我重定向到主頁,表示我沒有權限訪問此頁面。Ruby on Rails:無權訪問註冊頁面?
我有一個自定義登記控制器:
class Devise::RegistrationsController < DeviseController
before_filter :check_permissions, :only => [:new, :create, :cancel]
skip_before_filter :require_no_authentication
def check_permissions
authorize! :create, resource
end
def edit
@user = User.find(current_user.id)
@profile = Profile.new
end
def update
# required for settings form to submit when password is left blank
if params[:user][:password].blank? && params[:user][:password_confirmation].blank?
params[:user].delete(:password)
params[:user].delete(:password_confirmation)
end
@user = User.find(current_user.id)
if @user.update_attributes(params[:user])
set_flash_message :notice, :updated
# Sign in the user bypassing validation in case his password changed
sign_in @user, :bypass => true
redirect_to after_update_path_for(@user)
else
render "edit"
end
end
protected
def after_update_path_for(resource)
user_path(resource)
end
private
end
它是與before_filter :check_permissions,...
因爲當我刪除了這條線,我得到一個錯誤說
undefined method `user_registration_path'
在
從我的登記表我`設計/註冊#新:
如何解決我的問題報名表格?
此外,這是我的路線:從什麼樣子,你所做的就是使用CanCans authorize!
方法來處理的控制器動作,這將提高康康舞異常錯誤的授權
devise_for :user, :controllers => { :registrations => "registrations" }, :skip => [:registrations, :sessions] do
get 'signup' => 'devise/registrations#new', :as => :new_user_registration
end
我不知道如果我應該到一個新的文件添加到我的應用程序或我應該修改現有的康康舞文件,來實現check_authorization? – hellomello
@andrewliu你讀過GitHub的問題了嗎? – David
是的,但我的lib文件夾中沒有cancan文件夾。對不起,我是新來的RoR仍然 – hellomello