gpt4 book ai didi

ruby-on-rails - 未定义的方法 "_index_path"form_for 问题

转载 作者:行者123 更新时间:2023-12-04 02:57:10 24 4
gpt4 key购买 nike

我正在尝试使用 RoR 中的 form_for 帮助程序生成一个表单,但我遇到了似乎是路由错误的问题。以下是相关文件:

模型/设备.rb

class Equipment < ActiveRecord::Base
attr_accessible :name, :tracking_number
validates :tracking_number, :presence => true,
:uniqueness => { :case_sensitive => true }
end

Controller /设备_controllers.rb
class EquipmentsController < ApplicationController
def index
@equipments = Equipment.paginate(:page => params[:page])
end

def new
@equipment = Equipment.new
end

end

View /设备/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 %>

路线.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你会看到“设备”的复数形式是“设备”。

所以我会在你的项目中进行搜索,并用“设备”替换任何“设备”实例,我敢打赌这会解决它。

关于ruby-on-rails - 未定义的方法 "_index_path"form_for 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com