Ruby on Rails错误-Admin中的NoMethodError:Store#new
这是我的代码和项目结构。我的代码出了什么问题
我生成了这个命令"Rails生成控制器admin/store"
生成的控制器
控制器
/home/rok/Development/Pan/app/controllers/admin/store_controller.rb
class Admin::StoreController < ApplicationController
def new
@store = Store.new
#render "admin/store/new"
end
end
视图
/home/rok/Development/Pan/app/views/admin/store/new.thml.erb
<h1>xx </h1>
<p> xx </p>
<%= simple_form_for (@store) do |form| %>
<div class="form-inputs">
<%= form.input :store_name, label: "xx" %>
<%= form.input :store_address, label: "xx" %>
<%= form.input :store_phone, label: "xx" %>
<%= form.input :store_logitude, label: "xx" %>
<%= form.input :store_latitude, label: "xx" %>
</div>
<div class="form-actions">
<%= form.button :submit %>
</div>
<% end %>
型号
/home/rok/Development/Pan/app/models/store.rb
class Store < ActiveRecord::Base
validates :store_name, presence: true
validates :store_address, presence: true
validates :store_phone, presence: true
validates :store_longitude, presence: true
validates :store_latitude, presence: true
end
管理员中的NoMethodError:存储#new
显示/home/rok/Development/Pan/app/views/admin/store/new.html.erb
其中第4行上升:
#<#的未定义方法"stores_path":0x007f627c4ade00>提取来源(第4行附近):2.3.4.5.6.7
<p> xx </p>
<%= simple_form_for (@store) do |form| %>
<div class="form-inputs">
<%= form.input :store_name, label: "xx" %>
Rails.root:/home/rok/Development/Pan
怎么了?
您最好将名称控制器更改为复数
rails generate controller admin/stores
路线.rb
你必须这样做:
namespace :admin do
resources :stores
end
然后,在你的表格中写下:
<%= simple_form_for ([:admin, @store]) do |form| %>
<% end %>
我希望这对你有帮助。
您还需要提供名称空间:-
<%= simple_form_for ([:admin,@store]) do |form| %>
<% end %>