2012-09-19 14 views
6

Soy nuevo en Rails, estoy tratando de aprender esta tecnología, así que disculpe si la pregunta es tonta.Rails 3: Cómo insertar el registro en la base de datos usando Rails

Estoy usando Rails 3.

Háganme saber cómo puedo insertar un registro en la base de datos.

Estoy usando postgresql, y debajo está mi estructura de tabla para la tabla de estudiantes.

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

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

Este es mi archivo de controlador student_controller.rb

class StudentController < ApplicationController 

    def new 
    end 

end 

Este es mi archivo Modelo student.rb

class Student < ActiveRecord::Base 

end 

Este es mi punto de vista archivo en \ 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> 

cuando accedo a http://localhost:3000/student/new

Por favor, hágamelo saber cómo puedo insertar un registro en la base de datos ??

+0

como la respuesta será muy grande para mostrar el procedimiento completo, por favor siga los Rails Comenzando. Te ayudará a aprender cómo funciona Rails. http://guides.rubyonrails.org/getting_started.html – HungryCoder

+0

@Preethi Jain: ¿Te ayudó algo realmente? – Samiron

Respuesta

12

¿Entiendes acerca de RESTful? Asumo que usted lo sepa, a menos que se lo puede encontrar en la guía de carriles (En etiqueta de formulario, debe agregar @student,:action => :new, :method => :post) Para añadir un nuevo registro, sólo tiene que escribir Student.create(:name=> "a", :age => 2) Esta declaración se compone de 2 frases

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

I le sugerimos que use rails generate scaffold Student en su lugar, cree todo de esta manera. Y luego, lea estos código de generación en el controlador, las vistas, lo entenderá muy profundamente! :) P/s: también soy un aficionado: D

+0

Muchas gracias. – Pawan

+0

Lo único sobre esto sobre crear es que no generará automáticamente una identificación de servidor y se quejará de que la identificación sea nula. –

7

En primer lugar debe utilizar el método de carriles auxiliares form_for para generar compilar el formulario. Siga this link. En su modelo, debe recibir los datos de su estudiante como un hash en una clave llamada student. Así que en su controlador será como

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

Aquí es un archivo de ejemplo comments_controller.rb para un vistazo rápido. https://gist.github.com/3748175


PERO MÁS IMPORTANTE !!

Como usted es completamente nuevo en esta tecnología, le sugiero que haga un andamio de una aplicación de raíles de muestra y siga el código generado automáticamente.

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

Obtenga más información here.

Algunos enlaces más útiles:

2

Rails es un marco complejo. Eso no significa que sea difícil (incluso si lo es a veces), pero que hay muchos temas para entender. Definitivamente debe leer un tutorial para ayudarlo a comenzar: la guía de carriles officiel "Getting Started" es una forma muy decente de sumergirse en los rieles.

Después de eso, tendrás la respuesta a tu pregunta, pero también más respuestas ... y más preguntas también, probablemente.

Cuestiones relacionadas