2012-09-19 37 views
6

Tôi mới sử dụng Rails, tôi đang cố gắng tìm hiểu công nghệ này, vì vậy xin vui lòng giải thích nếu câu hỏi là câm.Rails 3: Cách chèn Bản ghi vào Cơ sở dữ liệu bằng Rails

Tôi đang sử dụng Rails 3.

Vui lòng cho tôi biết cách tôi có thể chèn Bản ghi trong Cơ sở dữ liệu.

Tôi là postgresql, và bên dưới là cấu trúc Bảng của tôi cho Bảng sinh viên.

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

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

Đây là điều khiển tập tin student_controller.rb tôi

class StudentController < ApplicationController 

    def new 
    end 

end 

Đây là mẫu của tôi tập student.rb

class Student < ActiveRecord::Base 

end 

Đây là tập tin quan điểm của tôi dưới \ ứng dụng \ 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> 

Khi tôi truy cập http://localhost:3000/student/new

Xin vui lòng cho tôi biết làm thế nào tôi có thể chèn một bản ghi trong cơ sở dữ liệu ??

+0

vì câu trả lời sẽ rất lớn để hiển thị quy trình hoàn chỉnh, hãy làm theo Rails Bắt đầu. Nó sẽ giúp bạn tìm hiểu cách Rails hoạt động. http://guides.rubyonrails.org/getting_started.html – HungryCoder

+0

@Preethi Jain: Có điều gì thực sự giúp bạn không? – Samiron

Trả lời

12

Bạn có hiểu về RESTful không? Tôi cho rằng bạn biết điều đó, trừ khi bạn có thể tìm thấy nó trong đường ray dẫn (Trong thẻ biểu mẫu, bạn phải thêm @student,:action => :new, :method => :post) Để thêm kỷ lục mới, chỉ cần gõ Student.create(:name=> "a", :age => 2) Tuyên bố này bao gồm 2 câu

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

tôi đề nghị bạn sử dụng rails generate scaffold Student thay vì tạo mọi thứ như thế này. Và sau đó, hãy đọc những mã này trong bộ điều khiển, quan điểm, bạn sẽ hiểu rất sâu! :) P/s: tôi cũng là người nghiệp dư: D

+0

Cảm ơn bạn rất nhiều. – Pawan

+0

Chỉ có điều về việc này hơn là tạo ra nó sẽ không tự động tạo ra một id máy chủ và sẽ khiếu nại về id là nil. –

7

Trước hết, bạn nên sử dụng phương thức trợ giúp đường ray form_for để tạo biểu mẫu. Theo dõi this link. Trong mô hình của bạn, bạn sẽ nhận được dữ liệu sinh viên của bạn dưới dạng băm trong khóa có tên student. Vì vậy, trong bộ điều khiển của bạn, nó sẽ giống như

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

Đây là mẫu comments_controller.rb tệp để xem nhanh. https://gist.github.com/3748175


NHƯNG QUAN TRỌNG NHẤT !!

Vì bạn hoàn toàn mới với công nghệ này, tôi khuyên bạn nên tạo một giàn giáo của ứng dụng đường ray mẫu và đi qua mã được tạo tự động.

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

Nhận thêm thông tin chi tiết here.

Một số liên kết hữu ích nhất:

2

Rails là một khuôn khổ phức tạp. Điều đó không có nghĩa là nó khó (ngay cả khi nó đôi khi), nhưng có rất nhiều chủ đề để nắm bắt. Bạn chắc chắn nên đọc một hướng dẫn để giúp bạn bắt đầu: các hướng dẫn đường ray officiel "Getting Started" là một cách rất phong nha để đắm mình trong đường ray.

Sau đó, bạn sẽ có câu trả lời cho câu hỏi của mình, nhưng cũng có nhiều câu trả lời hơn ... và có thể có thêm nhiều câu hỏi nữa.

Các vấn đề liên quan