Я бы лучше проверил свой словарный запас и мои собирательные существительные тоже.

аюсь сгенерировать форму с помощью помощника form_for в RoR, но я столкнулся с ошибкой маршрутизации. Вот соответствующие файлы:

модели / 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, и я смог закончить книгу.

Ответы на вопрос(1)

Ваш ответ на вопрос