11

私はRailsを初めて使用します。このテクノロジーを学ぼうとしています。質問がばかげている場合は、失礼します。

Rails3を使用しています。

データベースにレコードを挿入する方法を教えてください。

私は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

これは私のモデルファイルstudent.rbです

class Student < ActiveRecord::Base

end

これは、\ 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>

アクセスするとhttp://localhost:3000/student/new

データベースにレコードを挿入するにはどうすればよいですか?

4

3 に答える 3

15

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

于 2012-09-19T10:17:24.353 に答える
7

まず、railshelperメソッド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

ここでより多くの洞察を得る。

いくつかの最も有用なリンク:

于 2012-09-19T07:25:47.710 に答える
2

Railsは複雑なフレームワークです。それは難しいという意味ではありませんが(たまにあるとしても)、理解するためのトピックがたくさんあるということです。始めるのに役立つチュートリアルを必ず読んでください。officielrailsガイド「GettingStarted」は、レールに没頭するための非常に適切な方法です。

その後、あなたはあなたの質問に対する答えを得るでしょうが、さらに多くの答え...そしておそらくもっと多くの質問もあります。

于 2012-09-19T07:33:13.140 に答える