gpt4 book ai didi

ruby-on-rails - Rails 引擎 : Namespaced Polymorphic URLs

转载 作者:行者123 更新时间:2023-12-04 07:37:44 25 4
gpt4 key购买 nike

我有一个 Rails 引擎,MyEngine ,它没有独立的命名空间。根据 docs,我正在尝试使用多态助手生成资源链接。 .

一个引擎路线:

# 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

my_resourceMyResource 的一个实例ID 型号 12345 ,我希望:
polymorphic_url([my_engine, :admin, my_resource])

渲染:
/my_engine/admin/my_resource/12345

但是我错了。相反,我得到了一个异常(exception):
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错误的方法……还是我做错了?

最佳答案

您是否尝试过通过作用域而不是命名空间来执行此操作?

请参阅此 SO 文章以获得更好的解释。 Rails Scoped Routing

设计 gem 就是一个很好的例子。

祝你好运!

关于ruby-on-rails - Rails 引擎 : Namespaced Polymorphic URLs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12171982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com