【问题标题】:Path helpers for nested controllers / namespaces嵌套控制器/命名空间的路径助手
【发布时间】:2012-06-27 15:29:25
【问题描述】:

我有路线结构:

  namespace :admin do
    resources :currencies
  end

rake 路由输出:

admin_currencies     GET /admin/currencies(.:format) admin/currencies#index
                     POST /admin/currencies(.:format) admin/currencies#create
new_admin_currency   GET /admin/currencies/new(.:format) admin/currencies#new
edit_admin_currency  GET /admin/currencies/:id/edit(.:format) admin/currencies#edit
      admin_currency GET /admin/currencies/:id(.:format) admin/currencies#show
                     PUT /admin/currencies/:id(.:format) admin/currencies#update
                     DELETE /admin/currencies/:id(.:format) admin/currencies#destroy

Admin 是一个命名空间。

脚手架生成的表单是这样的

= form_for @currency do |f|
  - if @currency.errors.any?
    #error_explanation
      %h2
        = pluralize(@currency.errors.count, "error")
        prohibited this currency from being saved:
      %ul
        - @currency.errors.full_messages.each do |msg|
          %li= msg
  .field
    = f.label :title
    %br/
    = f.text_field :title
  .field
    = f.label :iso_code
    %br/
    = f.text_field :iso_code
  .actions
    = f.submit

我已将= form_for @currency 更改为= form_for admin_currencies_path(@currency),但由于表单的操作是/admin/currencies/new 而不是/admin/currencies,它仍然失败。

我做错了什么?

谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 routes nested-routes


    【解决方案1】:

    试试form_for [:admin, @currency]

    【讨论】:

    • 人们通常认为在绿色箭头上打勾来回答您的问题是合适的。很高兴它正在工作。 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    • 2015-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多