Rails Ошибка "ожидается ... model.rb для определения модели" - PullRequest
0 голосов
/ 21 ноября 2011
class ItemController < ApplicationController

  def create
    item = current_user.items.build(params[:presentstem])
    item.created_at = Time.now
    item.save!
    redirect_to root_path
  end

  def destroy

  end

end

И моя форма в views / home / index / html.erb для добавления элемента

<div id="add_item">
    <p>Add a new item</p>
    <% form_for Item.new do |f| %>
        <div id="add_item_container">
        <%= f.text_field :present %>
        <%= f.text_field :stem %>
        <%= f.text_field :secondary %>
        <%= f.check_box :atype %>
        <%= f.text_field :comment %>
        </div>
        <%= f.submit "Add to List" %>
    <% end %>
</div>

Как определить Item?

на локальном хосте: 3000Я получаю

Ожидаемый /Users/user/Desktop/test/app/models/item.rb для определения Item
Извлеченный источник (вокруг строки # 3):

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

В этом файле должно быть определение класса элемента /Users/user/Desktop/test/app/models/item.rb, вероятно, нет ...

class Item < ActiveRecord::Base
  #class definition goes here
end
0 голосов
/ 21 ноября 2011

Вы ошибаетесь.

У вас есть модель в приложении / models / item.rb

для этого у вас есть контроллер в app / controllers / items_controller.rb

и у вас есть представления в app / views / items / template.haml

если вы хотите создать форму, вы создаете форму для объекта. rails ищет, в каком типе действий вы хотите участвовать (новый, обновляющий), и автоматически генерирует маршрут (отдыхающий).

так что вы просто передали объект помощнику form_for

#in view
=form_for Item.new do |f|

или

#in items_controller.rb
def new
  @item = Item.new
end

#in new.haml
=form_for @item
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...