2016-09-22 16 views
14

私はRailsの5にアップグレードし、すべてがきれいなスムージーを行ってきましたが、明確な理由もなくskip_before_action後に呼び出されるメソッドは、RSpecのがこのメッセージskip_before_actionとRailsの5

Before process_action callback :redirect_heroku_user has not been defined (ArgumentError) 

で実行できるようにされていませんそれはスーパー奇妙ですそれがここにレール4上だけで正常に動作しているためと、私のコードです:

# application_controller.rb 
def redirect_heroku_user 
    redirect_to root_path if heroku_user? 
end 

# some_controller.rb 
skip_before_action :redirect_heroku_user, only: :edit 
+0

をあなたはbefore_actionを持っていますか?私は実際のエラーは、before_actionが実際には決して決まらなかったので、before_actionをスキップできないことを伝えていると思います。私は間違っているかもしれないが、レールを追加する:提案された答えが実際に生産のために必要でない限り、あなたがしてはいけないもののように感じるfalse。 – arieljuod

答えて

2

Rails 5では、メソッドredirect_heroku_userが同じコントローラに定義されていない場合、この例外が発生します。

あなたはmentioned hereとしてそれを避けるためにraise: falseを渡すことができますどこか他のredirect_heroku_user:

skip_before_action :redirect_heroku_user, only: :edit, raise: false