MyEngine
分離された名前空間を持たないRailsエンジンがあります。ドキュメントのように、多型ヘルパーを使用してリソースへのリンクを生成しようとしています。
エンジンルート:
# config/routes.rb
...
namespace :admin do
resources :my_resource
end
...
(これはエンジンであることを思い出してください)の出力例rake app:routes
:
admin_my_resources GET /admin/my_resources(.:format) my_engine/admin/my_resources#index
POST /admin/my_resources(.:format) my_engine/admin/my_resources#create
new_admin_my_resource GET /admin/my_resources/new(.:format) my_engine/admin/my_resources#new
edit_admin_my_resource GET /admin/my_resources/:id/edit(.:format) my_engine/admin/my_resources#edit
admin_my_resource PUT /admin/my_resources/:id(.:format) my_engine/admin/my_resources#update
DELETE /admin/my_resources/:id(.:format) my_engine/admin/my_resources#destroy
がIDmy_resource
を持つモデルのインスタンスである場合、次のことを期待します。MyResource
12345
polymorphic_url([my_engine, :admin, my_resource])
レンダリングするには:
/my_engine/admin/my_resource/12345
しかし、私は間違っていました。代わりに、例外が発生します。
undefined method `admin_my_engine_my_resource_path'...
だから、それが本当にもっと似たようなものを使うべきところpolymorphic_url
に使おうとしていますadmin_my_engine_my_resource_path
my_engine.admin_my_resource_path(my_resource)
Rails:admin
は間違った方法を追加しているようです...または私はそれを間違っていますか?