[英]Route errors when using namespace routes
当路由被命名空间时,你如何处理form_for
? 我收到了一些我真正希望得到的奇怪的路线错误。
例如,假设您在 routes.rb 的:admin
命名空间中有一个名为Admin::CompaniesController
的 controller:
namespace :admin do
resources :companies
end
大多数事情都很好,但是当我呈现新表单时出现错误。 这是代码:
<%= simple_form_for(@company, :url => admin_company_path(@company)) do |f| %>
这是错误消息:
ActionView::Template::Error: No route matches {:action=>"show", :controller=>"admin/companies", :id=>#<Company id: nil, name: nil, phone_number: nil, address: nil, postal_code: nil, is_enabled: true, courses_created: 0, province_id: nil, theme_id: nil, payment_plan_id: nil, created_at: nil, updated_at: nil>}
我怎样才能让rails在这里玩得很好? 我显然想要一个 url 用于编辑,另一个用于新的 forms。 通常,我什至不必在我的form_for
语句中:url
,但由于嵌套,我不得不这样做。
我不知道现在在这里做什么,至少不优雅。
尝试使用simple_form_for([:admin, @company]) do |f|
我相信我只需要在路径的尽头复数路径,就像这样:
<%= simple_form_for(@company, :url => admin_companies_path(@company)) do |f| %>
这不是我所期望的。 我只是猜到了。 这不是有效的路线或任何东西,但它似乎适用于放置和发布。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.