エンジンの名前空間と少し混乱しています。使用されるRailsエンジンでisolate_namespaceは、
module Blog
class Engine < Rails::Engine
isolate_namespace Blorgh
end
end
名前空間を持つオブジェクトを参照する必要があるのはいつですかBlog(例:Blog::Postvs just Post)?
たとえば、Postエンジンのリソースのコントローラー内で、実行しても大丈夫Post.findですか?どうしても使う必要があるときはBlog::Post?
モデルの関連付けでも、Postと仮定しhas_many :commentsます。どういうわけか、私はそれを次のように定義することを期待していました:
class Post < ActiveRecord::Base
:has_many "blog/comments"
end
すべてが名前空間化されているため(モデル、テーブル名など)、正しく機能しているように見えますhas_many :comments。名前空間が関連付けキーで使用されないのはなぜですか。また、Commentリソースがホストアプリケーションに存在する場合、railsはどのようにしてComment私が参照しているものを認識しますか?