は基本的に私はauthenticate_userActionController :: RoutingError(クラスのための未定義のメソッド `before_filter」):エラー
class UsersInitializeController < ApplicationController
before_filter :authenticate_user!
def create
render true
end
end
UsersInitializeControllerクラスを持っています!アプリケーションコントローラに見つかりました
class ApplicationController < ActionController::Base
# protect_from_forgery
def authenticate_user!
@current_user = User.find_by_token params[:auth_token]
if [email protected]_user
@current_user = User.create :token => params[:auth_token]
end
end
end
私のアプリケーションが起動すると、それはPOST要求をUsersInitializeControllerに送信します。 before_filterが設定されているので、authenticate_userを呼び出します!最初。しかし、私が得たエラーはbefore_filterは未定義のメソッドだと言っています。
私の知るところでは、before_filterはActionControllerに存在し、以来、UsersInitializeContoller < ApplicationController < ActionControllerから、このエラーは発生しません。以前誰かがこの問題に遭遇しましたか?
例外スタック(要求された通り)
Started POST "/users_initialize.json" for 127.0.0.1 at 2012-03-06 00:32:50 -0800
ActionController::RoutingError (undefined method `before_filter' for UsersInitializeController:Class):
app/controllers/users_initialize_controller.rb:3:in `<class:UsersInitializeController>'
app/controllers/users_initialize_controller.rb:1:in `<top (required)>'
routes.rbをファイル(要求された通り)
MyApplication::Application.routes.draw do
resources :users_initialize
match 'info/required_client_version' => 'info#required_client_version'
end
###問題が
###解決未使用Devise宝石はどうにかして合併症を引き起こします。それを削除して完了しました。
例外スタック全体を投稿できますか?タイトルで使用したエラーを見ると、問題はあなたのauthenticate_userメソッドではないと思います。これはルーティングエラーです。未定義のメソッドはbefore_filterです。 –
私は要望どおりに編集しました! –
非常に奇妙です。これは、Railsがロードされる前にbefore_filterメソッドが呼び出されていることを示しています。 before_filterをアプリケーションコントローラに移動して同じアクションを実行するとどうなりますか? –