application_controller.rb
コントローラーで、それを継承するすべてのコントローラーがアクセスできる変数を宣言したいと思います。可能であれば、変数は子クラスでのみアクセス可能であり、ビューを含めて他の場所ではアクセスできないようにします(特にビューに渡されない限り)。
私はRubyとRailsを初めて使用しますが、変数に「保護された」スコープが存在するかどうかはわかりませんが、関数には存在することがわかりました。私は簡単な答えを見つけることができず、変数を宣言するさまざまな方法とそれらにアクセスできる場所をアプリで少し実験してきました。それは私がこれをどのように達成できるかについての情報を私に提供しませんでした。
どんな助けでも大歓迎です。
コード:
class ApplicationController < ActionController::Base
protect_from_forgery
@admin_name = "AdminUserName"
@admin_password = "AdminPassword"
end
class ProjectsController < ApplicationController
http_basic_authenticate_with :name => @admin_name, :password => @admin_password, :except => [:index, :show]
# controller functions here
end
これは私にはうまくいかないようです。