0

私はレールで練習していて、「セッション」のトピックにいましたが、「ApplicationController:Class の未定義メソッド「セッション」」というメッセージが表示されます。

私を助けてください

これはコードです * (コントローラーアプリケーション)

class ApplicationController < ActionController::Base
  session :session_key => 'ruby_cookies'
end

* (クッキーを作成したいときのコントローラ)

class RegistroController < ApplicationController
  def index
  end

  def login
    if request.post?
      p_user = User.new(params[:user])
      user   = User.find_by_nombre_and_password(p_user.nombre, p_user.password)
      if user
        session[:user_id] = user.id
        flash[:notice]    = "se ha identificado correctamente"
        redirect_to home_url
      else
        flash[:notice] = "se incorrecto psps"
        redirect_to login_url
      end
    end
  end

  def logout
    session[:user_id] = nil
    flash[:notice] = "adios sayonara"
    redirect_to home_url
  end
end
4

2 に答える 2

1

あなたのコードは非常に読みにくいですが、この問題はおそらく、メソッド「セッション」を呼び出してキーと値のペアを渡そうとしているように見えるこの行に関連しています。

session :session_key => 'ruby_cookies'

これは、どのような種類のコントローラー アクションにも含まれていないようです。通常、通常のハッシュと同様に、でセッション値を設定し、session[:my_value] = 'value'で読み取ります。session[:my_value]

于 2012-10-24T01:01:54.947 に答える
0

あなたのコードはApplicationControllerそこに属していません。たとえばconfig/environment.rb、次のような構成ファイルに属します。

config.action_controller.session = {     
  :session_key => 'ruby_cookies'
}

詳細については、http: //guides.rubyonrails.org/configuring.htmlを参照してください。

于 2012-10-24T01:03:05.397 に答える