所以我一直在撞墙,试图弄清楚为什么这不起作用。我一直在
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
答案 0 :(得分:1)
尝试
<%= form_for information ,:namespace=>'admin' do |f| %>
更新:
看看你的路线'信息'是多元化的,但你使用单数形式的'信息'
答案 1 :(得分:1)
您必须使用正确形式的控制器,因为:
“information'.pluralize
是
“信息”,而不是信息。
因此,重命名控制器和视图文件夹。
答案 2 :(得分:0)
我不确定这是否有用......只是一个猜测。
form_for @admin.information
或类似的东西。