Rails错误“预期... model.rb定义模型”

时间:2011-11-21 11:25:22

标签: ruby-on-rails ruby model-view-controller model

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

在localhost:3000我得到了

  

预期/Users/user/Desktop/test/app/models/item.rb定义项目
      提取的来源(第3行):

2 个答案:

答案 0 :(得分:1)

你应该在这个文件/Users/user/Desktop/test/app/models/item.rb中有Item类定义,可能你没有......

class Item < ActiveRecord::Base
  #class definition goes here
end

答案 1 :(得分:0)

你错了。

你在app / models / item.rb中有一个模型

为此你在app / controllers / items_controller.rb

中有一个控制器

你在app / views / items / template.haml

中有视图

如果你想做一个form_for,你就可以为对象做表格。 rails正在查看您想要参与的动作类型(新增,更新)并自动生成路线(宁静)。

所以你刚给了form_for helper

一个对象
#in view
=form_for Item.new do |f|

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

#in new.haml
=form_for @item