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 "Начало" это очень приличный способ погрузиться в рельсы.

после этого у вас будет ответ на ваш вопрос, но и больше ответов... и, вероятно, еще вопросы.