Rails 3: Как вставить запись в базу данных с помощью Rails
Я новичок в Rails , я пытаюсь изучить эту технологию, поэтому, пожалуйста, извините, если вопрос тупой .
я использую Rails 3 .
пожалуйста, дайте мне знать, как я могу вставить запись в базе данных .
Я uisng postgresql, и ниже приведена моя структура таблицы для таблицы Students .
SELECT column_name FROM information_schema.columns WHERE table_name ='Students';
column_name
-------------
id
name
age
description
(4 rows)
это мой файл контроллера student_controller.rb
class StudentController < ApplicationController
def new
end
end
это мой файл модели студент.rb
class Student < ActiveRecord::Base
end
это мой файл представления в appviewsstudentnew.формат html.Эрб
<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>
когда я получаю доступ http://localhost:3000/student/new
пожалуйста, дайте мне знать, как я могу вставить запись в базу данных ??
3 ответов
вы понимаете о RESTful? Я предполагаю, что вы знаете это, если вы не можете найти его в руководстве rails (в теге формы вы должны добавить @student,:action => :new, :method => :post
)
Чтобы добавить новую запись, просто наберите Student.create(:name=> "a", :age => 2)
Это утверждение состоит из 2 предложений
object = Student.new(:name => "a", :age => 2)
object.save
Я предлагаю вам использовать rails generate scaffold Student
вместо того, чтобы создать все это. И тогда, прочитав эти генерирующие код в контроллере, представления, вы поймете очень глубоко!:)
P / s: я тоже любитель:D
прежде всего, вы должны использовать метод Rails helper form_for
для создания сборки формы. Следуйте за этой ссылке. В вашей модели вы должны получить данные студента в виде хэша в ключе с именем student
. Так что в вашем контроллере это будет похоже на
def create
@student = Student.new(params[:student])
respond_to do |format|
.. ... ...
#handle the response
end
end
вот пример comments_controller.rb
файл для быстрого просмотра. https://gist.github.com/3748175
НО САМОЕ ГЛАВНОЕ!!
как вы совершенно новый для этой технологии, я бы предложил сделать подмостки образца приложения rails и пройти через автоматически сгенерированный код.
# run this command in your command line to generate the codes
rails generate scaffold Student name:string age:integer description:text
узнать больше здесь.
Некоторые Наиболее Полезные Ссылки:
Rails-сложная структура. Это не означает, что это трудно (даже если это иногда), но есть много тем, чтобы понять. Вы обязательно должны прочитать учебник, чтобы помочь вам начать работу: руководство officiel rails "Начало" это очень приличный способ погрузиться в рельсы.
после этого у вас будет ответ на ваш вопрос, но и больше ответов... и, вероятно, еще вопросы.