だいぶ手順が雑でしたので見直しました、見栄えも修正しております
またCentOS6系でも試してみましたのでCentOS6系の場合はこちらをご参照ください
■概要
Ruby on Railsを使って簡単なアプリを作ってみました
scaffold的なサンプルアプリを作成してみました
scaffold的なサンプルアプリを作成してみました
■バージョン
CentOS 5.10 64bit
Rails 3.2.7
ruby 1.9.3p125
mysql 5.0.95
Rails 3.2.7
ruby 1.9.3p125
mysql 5.0.95
■事前
ruby、railsのインストールは必須です
http://kakakikikeke.blogspot.jp/2012/04/centos56ruby.html
足りなかったインストール系は以下
gem install therubyracer
gem install execjs
http://kakakikikeke.blogspot.jp/2012/04/centos56ruby.html
足りなかったインストール系は以下
gem install therubyracer
gem install execjs
■rails基本設定
cd /var/tmp
rails new "simpledbform" -d mysql
cd simpledbform/
vi Gemfile
gem 'therubyracer'
を追記
rake db:create
DB作成に関してはこれで代用
rails server
ブラウザで3000番にアクセスするとRailsのサンプルを表示
http://localhost:3000/
rails new "simpledbform" -d mysql
cd simpledbform/
vi Gemfile
gem 'therubyracer'
を追記
rake db:create
DB作成に関してはこれで代用
rails server
ブラウザで3000番にアクセスするとRailsのサンプルを表示
http://localhost:3000/
■controller作成
rails generate controller sdfctl
sdfctlは好きなアプリ名を入れてください
emacs config/routes.rb
ここはgenerateしたコントローラの名前を記載します
sdfctlは好きなアプリ名を入れてください
emacs config/routes.rb
ここはgenerateしたコントローラの名前を記載します
match 'hello' => 'sdfctl#hello' match 'bye' => 'sdfctl#bye'
■view設定(controllerとの連携)
touch app/views/sdfctl/hello.html.erb
touch app/views/sdfctl/bye.html.erb
ここで作成するファイル.erbファイルはテンプレートファイルです
テンプレートファイルはコントローラで記載したURLマッピングの名称と同値(必須ではないが)にしておくといいです
emacs app/views/sdfctl/hello.html.erb
touch app/views/sdfctl/bye.html.erb
ここで作成するファイル.erbファイルはテンプレートファイルです
テンプレートファイルはコントローラで記載したURLマッピングの名称と同値(必須ではないが)にしておくといいです
emacs app/views/sdfctl/hello.html.erb
<h1>Hello</h1> こんにちは。お元気ですか。 <%= @msg %>emacs app/controllers/sdfctl_controller.rb
# coding: utf-8 class SdfctlController < ApplicationController def hello #render :text => 'Hello!' ⇒これは直接テキストを表示する命令、未使用なのでコメントアウト @msg = "おげんきだぜー"; end def bye render :text => 'bye!' end end再起動して/helloにアクセスするとテンプレートを表示
■modelとDB連携
rails generate model name
emacs db/migrate/20120809010634_create_names.rb
rake db:migrate
migrateコマンドでテーブルを作成
emacs db/seeds.rb
rake db:seed --trace
この段階でsimpledbform_developmentにレコードがインサートされるので別途mysqlコマンドで確認
rails dbconsoleでも確認可能
emacs app/views/sdfctl/hello.html.erb
rails server
でこの状態で/helloにアクセスするとDBのデータを取得してその値を取得し表示してくれると思います
invoke active_record create db/migrate/20120809010634_create_names.rb create app/models/name.rb invoke test_unit create test/unit/name_test.rb create test/fixtures/names.yml
emacs db/migrate/20120809010634_create_names.rb
t.string :first_name t.string :family_name
rake db:migrate
migrateコマンドでテーブルを作成
emacs db/seeds.rb
# coding: utf-8 Names.create(:first_name => 'keke', :family_name => 'kakakiki') Names.create(:first_name => 'keke2', :family_name => 'kakakiki')emacs app/models/name.rb
attr_accessible :first_name, :family_nameCan't mass-assign protected attributesのエラーに対応
rake db:seed --trace
この段階でsimpledbform_developmentにレコードがインサートされるので別途mysqlコマンドで確認
rails dbconsoleでも確認可能
emacs app/views/sdfctl/hello.html.erb
<h1>Hello</h1> こんにちは。お元気ですか <%= @msg %> <% @name_all.each do |name| %> [苗字] <%= name.family_name %>, [名前] <%= name.first_name %> <% end %>emacs app/controllers/sdfctl_controller.rb
# coding: utf-8 class SdfctlController < ApplicationController def hello @sum = 1 + 1 @msg = "おげんきだぜー"; @name = Name.all end def bye render :text => 'bye!' end end
rails server
でこの状態で/helloにアクセスするとDBのデータを取得してその値を取得し表示してくれると思います
以上で簡単なサンプルは完了です
■メモ
public/配下が静的ファイルを置く場所
config/routes.rbがリクエストの振り分けを行う、URLのマッピング
controllerのURLマッピングとviewのhtml.erbファイルは密接に関係
MVCモデルの設定ファイルはapp/models, views, controllersがそれぞれ対応
rubyで2バイト文字を先頭で使うときには# coding: utf-8を記載
railsではデータベースを作成する際にmigrateという機能を使用
(DBに直接コマンドを打つのではなくrails特有のスクリプトからDBを構築する手法)
rails serverは毎回行わなくてもMVCの更新でリアルタイムに反映
rubyの「:」はテキストを表している、「:text」「'test'」「"test"」は同値
config/routes.rbがリクエストの振り分けを行う、URLのマッピング
controllerのURLマッピングとviewのhtml.erbファイルは密接に関係
MVCモデルの設定ファイルはapp/models, views, controllersがそれぞれ対応
rubyで2バイト文字を先頭で使うときには# coding: utf-8を記載
railsではデータベースを作成する際にmigrateという機能を使用
(DBに直接コマンドを打つのではなくrails特有のスクリプトからDBを構築する手法)
rails serverは毎回行わなくてもMVCの更新でリアルタイムに反映
rubyの「:」はテキストを表している、「:text」「'test'」「"test"」は同値
0 件のコメント:
コメントを投稿