繁体   English   中英

使用命名空间路由时的路由错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM