0

だから私は壁に頭をぶつけて、なぜこれがうまくいかないのかを理解しようとしてきました。私は得続けます

ActionView::Template::Error:
   undefined method `admin_information_index_path' for #<#<Class:0x007fc67971cab8>:0x007fc67d775740>

トレースを使用:

 # ./app/views/admin/informations/_form.html.erb:1:in `_app_views_admin_informations__form_html_erb__2815737811953353352_70245242566200'
 # ./app/views/admin/informations/new.html.erb:2:in `_app_views_admin_informations_new_html_erb___3700624853666844924_70245242606040'

正しい方向へのヒントはありますか?


私のルート:

namespace :admin do
  resources :informations
end

私のコントローラー:

class Admin::InformationsController < Admin::AdminController
  def new
    @information = Information.new
  end
end

ビュー/管理者/情報/new.html.erb:

<h1>Add New Information Page</h1>
<%= render :partial => 'form', locals: { information: @information } %>

ビュー/管理者/情報/_form.html.erb:

<%= form_for [:admin, information] do |f| %>
    <%= error_messages_for information %>

    <%= f.label :title %><br>
    <%= f.text_field :title %><br><br>

    <%= f.label :content %><br>
    <%= f.text_area :content %><br><br>

    <%= f.submit "Submit" %>
<% end %>

の出力rake routes

    admin_informations GET    /admin/informations(.:format)           admin/informations#index
                       POST   /admin/informations(.:format)           admin/informations#create
 new_admin_information GET    /admin/informations/new(.:format)       admin/informations#new
edit_admin_information GET    /admin/informations/:id/edit(.:format)  admin/informations#edit
     admin_information GET    /admin/informations/:id(.:format)       admin/informations#show
                       PUT    /admin/informations/:id(.:format)       admin/informations#update
                       DELETE /admin/informations/:id(.:format)       admin/informations#destroy
            admin_root        /admin(.:format)                        admin/sessions#new
4

3 に答える 3

1

試してみてください

<%= form_for information ,:namespace=>'admin' do |f| %>

アップデート:

ルートの「情報」を複数形で見てください。ただし、単数形の「情報」を使用しています

于 2012-05-02T23:18:11.773 に答える
1

You must use correct form of controller, because:

'information'.pluralize
is
"information", not informations.

So, rename controller and view folder.

于 2012-05-05T09:57:44.157 に答える
0

これが機能するかどうかはわかりません...ただの推測です。

form_for @admin.informationまたはそれらの線に沿った何か。

于 2012-05-03T01:19:53.113 に答える