2017-03-05 5 views
-2

Ich versuche Rubin im Moment zu lernenRubin - nicht initialisierte Konstante Fehler

ich die unten habe aber kann nicht herausfinden, warum ich das nicht initialisierte Konstante Fehler bekommen (auf Item.new). Kann mir jemand in die richtige Richtung zeigen?

bearbeiten, um dies zu klären, verwendet die "Simple_form" gem. es wurde Bundle installiert

Ich habe es als unten, um ein Formular:

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

und der Artikel-Controller ist als unten

class ItemsController < ApplicationController 
    def index 

    end 

    def new 
     @item = Item.new 
    end 

    def create 

    end 
end 
+0

Können Sie 'Item.first' in Ihrer' rails console' überprüfen? – ashvin

+0

Haben Sie 'Item' definiert? dann hast du es geladen? – falsetru

+0

ashvin - ist das "rails Item.first", wenn es heißt "Ich weiß nicht, wie ich die Aufgabe" Item.first "aufbauen soll ... –

Antwort

4

Zuerst Sie ein Modell mit Namen zu schaffen haben " Artikel "

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

dann können Sie nur auf Werte zugreifen, die in der Tabelle my name" Artikel "gespeichert sind Datenbank. Wenn Sie die Migrationen nicht ausgeführt haben, verwenden Sie den Befehl rake db: migrate -t ​​erstellt Tabellen wie in der Migration angegeben. Nach allem, was darauf zu achten, wie ich oben

angegeben gehen

auf die Schienen Konsole von Ruby-Skript/Konsole

Typ „Item“ und es wird die Klasse anzuzeigen, die zugeordnet ist, dann können Sie Ihren Code verwenden.

Hinweis: Befehle, die ich angegeben habe, variieren je nach Schienenversionen.

+0

Können Sie erklären, warum es an dem Tutorial arbeitet, dem ich folge? https://www.youtube.com/watch?v=Z9GaNNztcZk&t=813s (bis zu 17 Minuten genau überspringen und es zeigt den Element-Controller, aber hat kein Klassenmodell) –

+0

Können Sie die URL angeben, auf die zugegriffen wird und wie sie angegeben wurde im Video hast du die Datei new.html.erb erstellt und du renderst die partielle? – Bharath

Verwandte Themen