1

私はルート構造を持っています:

  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 は名前空間です。

scaffold によって生成されたフォームは次のようになります

= 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 ではなく /admin/currencies/new であるため、まだ失敗しています。

私は何を間違っていますか?

ありがとう。

4

1 に答える 1

3

試してみてくださいform_for [:admin, @currency]

于 2012-06-27T15:31:37.790 に答える