ruby-on-rails – 未定义的方法“_index_path”form_for问题
发布时间:2020-12-16 21:34:29 所属栏目:百科 来源:网络整理
导读:我试图在RoR中使用form_for帮助器生成一个表单,但是我遇到似乎是一个路由错误.以下是相关文件: 车型/ equipment.rb class Equipment ActiveRecord::Base attr_accessible :name,:tracking_number validates :tracking_number,:presence = true,:uniqueness
我试图在RoR中使用form_for帮助器生成一个表单,但是我遇到似乎是一个路由错误.以下是相关文件:
车型/ equipment.rb class Equipment < ActiveRecord::Base attr_accessible :name,:tracking_number validates :tracking_number,:presence => true,:uniqueness => { :case_sensitive => true } end 控制器/ equipments_controllers.rb class EquipmentsController < ApplicationController def index @equipments = Equipment.paginate(:page => params[:page]) end def new @equipment = Equipment.new end end 视图/设备/ new.html.rb <h1>Add an equipment</h1> <%= form_for (@equipment) do |f| %> <%= render 'shared/error_messages',:object => f.object %> <div class="field"> <%= f.label :name %> <br /> <%= f.text_field :name %> </div> <div class="field"> <%= f.label :tracking_number %><br /> <%= f.text_field :tracking_number %> </div> <%= f.submit "Add" %> <% end %> 的routes.rb EquipmentTracking::Application.routes.draw do root :to => "equipments#index" resources :equipments end 我看不到任何错误,但输出如下: NoMethodError in Equipments#new Showing /opt/ror/equipment_tracking/app/views/equipments/new.html.erb where line #2 raised: undefined method `equipment_index_path' for #<#<Class:0xb6725a2c>:0xb6724640> 如果我把它改成了 <%= form_for (:equipment) do |f| %> 它似乎工作正常.我也确定静态变量@equipment从此开始传递 <%= @equipment %> 回报 #<Equipment:0xb685ece0> 我在这里亏了我刚刚完成了我在跟踪railstutorial.org的书时所做的一切,我能够完成这本书. 解决方法
我想你的问题在于你使用“设备”一词.如果您打开Rails控制台运行’equipment’.pluralize,您会看到复数“设备”是“设备”.
所以我会通过你的项目搜索,并用“设备”替换任何“设备”的实例,我敢打赌这将修复它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |