2017-03-05 29 views
-2

我想此刻紅寶石 - 未初始化的恆定誤差

我已經得到了以下學習Ruby,但無法弄清楚,爲什麼我得到(上Item.new)未初始化的恆定誤差。任何人都可以將我指向正確的方向嗎?

編輯澄清這是使用「Simple_form」寶石。它已經捆綁安裝

我一直在使用它的形式如下:

<%= simple_form_for @item do |f| %> 
    <%= f.input :title, label: "Item" %> 
    <%= f.input :description %> 
    <%= f.button :submit %> 
<% end %> 

和項目控制器如下

class ItemsController < ApplicationController 
    def index 

    end 

    def new 
     @item = Item.new 
    end 

    def create 

    end 
end 
+0

你可以在你的'rails console'中檢查'Item.first'嗎? – ashvin

+0

您是否定義了「Item」?那麼,你是否加載它? – falsetru

+0

ashvin - 是「rails Item.first」如果是這樣說「不知道如何構建任務」Item.first「..... –

回答

4

首先,你必須通過名字來創建一個模型「項目「

class Item < ActiveRecord::Base 
    #Model class and object methods goes here 
end 

然後只有你可以訪問存儲在表中的值我的名字」項目「從數據庫。 如果您未運行migrations use命令rake db:migrate -t​​將按照您在遷移中指定的方式創建表。正如我上面

指定的一切照顧後進入軌道控制檯通過Ruby腳本/控制檯

類型「項」 ,它會顯示它相關聯,那麼你可以使用你的代碼的類。

注意:我指定的命令將根據rails版本而有所不同。

+0

你能解釋爲什麼它在我正在遵循的教程上工作嗎? https://www.youtube.com/watch?v=Z9GaNNztcZk&t=813s(完全跳到17分鐘,它顯示了項目控制器,但沒有班級模型) –

+0

您可以指定用於訪問的URL嗎?在視頻中是否創建了new.html.erb文件,並且您是否渲染了部分? – Bharath