[英]Ruby on Rails Error - NoMethodError in Admin::Store#new
Ruby on Rails錯誤-Admin :: Store#new中的NoMethodError
這是我的代碼和項目結構。 我的代碼有什么問題?
我生成了此命令“ Rails generate controller 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
Admin :: Store#new中的NoMethodError
顯示/home/rok/Development/Pan/app/views/admin/store/new.html.erb
第4行出現在哪里:
#<#:0x007f627c4ade00>的未定義方法`stores_path'>提取的源(第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
怎么了?
您還需要提供名稱空間:
<%= simple_form_for ([:admin,@store]) do |form| %>
<% end %>
您最好將名稱控制器更改為復數形式
rails generate controller admin/stores
routes.rb
您必須這樣做:
namespace :admin do
resources :stores
end
然后,以您的形式編寫:
<%= simple_form_for ([:admin, @store]) do |form| %>
<% end %>
希望對您有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.