所以我一直把头撞在墙上,试图弄清楚为什么它不起作用。我不断
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
我的 Controller :
class Admin::InformationsController < Admin::AdminController
def new
@information = Information.new
end
end
views/admin/informations/new.html.erb:
<h1>Add New Information Page</h1>
<%= render :partial => 'form', locals: { information: @information } %>
views/admin/informations/_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
最佳答案
尝试一下
<%= form_for information ,:namespace=>'admin' do |f| %>
更新:
查看您的路线“信息”是复数形式,但您使用的是单数形式的“信息”
关于ruby-on-rails - 为什么此 rails 形式找不到正确的路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10422804/