2012-09-19 3 views
6

Ich bin neu bei Rails, ich versuche, diese Technologie zu lernen, also bitte entschuldigen, wenn die Frage dumm ist.Schienen 3: Wie Aufnahme in Datenbank mit Rails

Ich verwende Rails 3.

Bitte lassen Sie mich wissen, wie kann ich einen Datensatz in die Datenbank einfügen.

Ich bin PostgreSQL, und unten ist meine Tabellenstruktur für die Students Table.

SELECT column_name FROM information_schema.columns WHERE table_name ='Students'; 

column_name 
------------- 
id 
name 
age 
description 
(4 rows) 

Dies ist meine Controller-Datei student_controller.rb

class StudentController < ApplicationController 

    def new 
    end 

end 

Das ist meine Modell-Datei student.rb

class Student < ActiveRecord::Base 

end 

Das ist meine Ansicht Datei unter \ app \ views \ student \ new.html.erb

<h1>BookController#new</h1> 
<form> 
    Id: <input type="text" name="id" /><br /> 
Last Name: <input type="text" name="lastname" /> 
    Age: <input type="text" name="age" /> 
    Desciption: <input type="text" name="description" /> 
</form> 

Wenn ich Zugriff http://localhost:3000/student/new

Bitte lassen Sie mich wissen, wie kann ich einen Datensatz in Datenbank einfügen ??

+0

als die Antwort wird schrecklich groß für die vollständige Prozedur, bitte folgen die Rails Erste Schritte. Es wird Ihnen helfen, zu lernen, wie Rails funktioniert. http://guides.rubyonrails.org/getting_started.html – HungryCoder

+0

@Preethi Jain: Hat dir wirklich etwas geholfen? – Samiron

Antwort

12

Verstehen Sie RESTful? Ich gehe davon aus, dass Sie es wissen, wenn Sie es in Schienen Führungs finden (In Form-Tag, müssen Sie @student,:action => :new, :method => :post hinzufügen) neuen Datensatz hinzuzufügen, geben Sie einfach Student.create(:name=> "a", :age => 2) Diese Aussage von 2 Sätzen besteht

object = Student.new(:name => "a", :age => 2) 
object.save 

I Ich schlage vor, Sie verwenden rails generate scaffold Student stattdessen alles so erstellen. Und dann, lesen Sie diese generieren Code in der Steuerung, Ansichten, werden Sie sehr tief verstehen! :) P/s: Ich bin auch ein Amateur: D

+0

Vielen Dank. – Pawan

+0

Nur etwas darüber zu erstellen ist, wird es nicht automatisch eine Server-ID generieren und wird sich beschweren, dass ID ist Null. –

7

Als erstes sollten Sie die rails-Hilfsmethode form_for verwenden, um das Formular zu generieren. Folgen Sie this link. In Ihrem Modell sollten Sie Ihre Schülerdaten als Hash in einem Schlüssel mit dem Namen student erhalten. Also in Ihrem Controller wird es sein, wie

def create 
    @student = Student.new(params[:student]) 
    respond_to do |format| 
      .. ... ... 
      #handle the response 
    end 
end 

Hier ist ein Beispiel comments_controller.rb Datei für einen schnellen Blick ist. https://gist.github.com/3748175


aber am wichtigsten !!

Da Sie zu dieser Technologie völlig neu sind, würde ich vorschlagen, ein Gerüst einer Musterschienenanwendung zu machen und den automatisch generierten Code durchzugehen.

# run this command in your command line to generate the codes 
rails generate scaffold Student name:string age:integer description:text 

Erhalten Sie mehr Einblicke here.

Einige nützlichsten Links:

2

Rails ist ein komplexer Rahmen. Das bedeutet nicht, dass es schwer ist (auch wenn es manchmal ist), aber dass es viele Themen gibt, die Sie verstehen können. Sie sollten auf jeden Fall ein Tutorial lesen, um Ihnen den Einstieg zu erleichtern: Der offizielle Schienenführer "Getting Started" ist ein sehr anständiger Weg, um sich in Schienen zu bewegen.

Danach haben Sie die Antwort auf Ihre Frage, aber auch mehr Antworten ... und wahrscheinlich auch mehr Fragen.