RubyonRails错误-Admin::Store#new中的NoMethodError



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 %>

最新更新