My Rails 3.1アプリケーションは、名前空間内に完全に実装されています。ビューを呼び出すと、この名前空間は含まれないので、毎回各クラスの完全修飾名を入力する必要があります。私はこれがバグか少なくとも欠けている機能だと思う。毎回完全修飾名を入力する必要がないように、どのビューコンテキストにAef :: Newmanというネームスペースを自動的に含めることができますか?メソッドが含まれているためHAMLビュー・テンプレート内の次のステートメントが失敗したことをRails 3.1に名前空間を含める名前空間アプリケーションのHAMLビュー
通知は見つけることができません。この名前空間の
- include Aef::Newman
両方のコンポーネントは、型モジュールです。例えば、私のコントローラはアプリ/コントローラ/ AEF /ニューマンに配置され、アプリケーションのコントローラは次のようになります。このようになりますHandledAddressesControllerという名前のコントローラがある
module Aef
module Newman
class ApplicationController < ActionController::Base
protect_from_forgery
end
end
end
:
module Aef
module Newman
class HandledAddressesController < ApplicationController
def index
@handled_addresses = HandledAddress.all
end
end
end
end
お知らせは、 HandledAddressモデルでさえ実際にはAef :: Newman :: HandledAddressという名前で、app/models/aef/newman/handles_address.rbにあります。
私のroutes.rbをは次のようになります。
resources :handled_addresses, controller: 'aef/newman/handled_addresses, only: :index
ビューテンプレートパスはまずアプリ/ビュー/ AEF /ニューマン/ handled_addresses/index.haml.haml
さらに、ビューテンプレート内で定数を使用することを悪い考え方と考える理由を説明できますか? – aef