Rubyの学習 free215
違うディレクトリで再びSQLiteをRailsのデータベースとして使ってみる
↓Rubyのプログラムを実行すると以下のように表示される。 C:\Documents and Settings\User>cd C:\SadaData\rails\kittakashop C:\SadaData\rails\kittakashop>rails serverキッタカ
SQLiteのデーターベース名?これはアプリの名前かな? テーブル名titles、勝手にエスがついたり任意の名前に変えたりすると初期値が入力できない、とにかく難しい。 カラム名、「kit_name」「kit_date」これだけ任意の名前を付けることができた。 [名前] 橘高リサイクル, [日付] 2012-12-28 [名前] 橘高建設, [日付] 2013-11-02
Monday,November,25,2013プログラムの表示
「kittakashop」というアプリを作る コマンドプロンプトを開く cd C:\SadaData\rails C:\SadaData\rails>rails new kittakashop データベースの作成 cd C:\SadaData\rails\kittakashop C:\SadaData\rails\kittakashop>rake db:create ○○モデルの作成(kittakashop\app\modeis\title.rbが作成される)(ここでタイトルがでてくる)(ここは任意の名前に変えないほうがぶなん) C:\SadaData\rails\kittakashop>rails generate model title(ここでタイトルがでてくる) マイグレーションを使ったテーブル作成(kittakashop\db\migrate\20131126061958_create_titles.rb)さくらエディタで編集 マイグレーションとは rails からテーブルを作成する機能 ↑勝手に「s」がつく class CreateTitles < ActiveRecord::Migration def change create_table :titles do |t| ↓入れる t.string :kit_name t.date :kit_date ↑ t.timestamps end end end マイグレーションスクリプトを実行 C:\SadaData\rails\kittakashop>rake db:migrate スクリプトを実行するとデータベースの中にテーブルが作成される -- create_table(:titles) ←このテーブル名変えたい テスト用データの作成(db\seeds.rb)UTF-8で上書き # coding: utf-8 Title.create(:kit_name => '橘高リサイクル', :kit_date => '2012-12-28') Title.create(:kit_name => '橘高建設', :kit_date => '2013-11-02') C:\SadaData\rails\kittakashop>rake db:seed コマンドに文字化けだけど何か出力されているこれはエラー データを正常に格納できればコマンドには何も表示されない SQLiteのコマンドラインツールを起動 C:\SadaData\rails\kittakashop>rails dbconsole sqlite>select * from titles; ←このテーブル名変えたい 閉じる sqlite>.quit C:\SadaData\rails\kittakashop> app\controllers\application_controller.rb」ファイルをテキストエディタで開? 特に何かを指示している様子はない ○モデルを使ってデータベースのデータを取得(utf-8上書 関係ないみたい) 前々回に戻る コントローラーを作る「kittakashoplist」 rails generate controller kittakashoplist ↑コントローラ名 C:\SadaData\rails\kittakashop>rails generate controller kittakashoplist ↑コントローラ名 ↓_controllerが名前に自動で付く C:\SadaData\rails\kittakashop\app\controllers\kittakashoplist_controller.rb をさくらエディタで開き ↑新しくできたファイル 下記を書き込む class KittakashoplistController < ApplicationController ↓書き込む def bykittakashop2019 @titles = Title.all end ↑書き込む end 「Title」モデルの「all」メソッドはテーブルに含まれる全てのデータを モデルクラスのオブジェクトの配列として返します。 今回は返された配列を変数「titles」に格納しています。 ○ビューを編集(標準では作成されていない)(注意、ファイル形式をutf-8とし上書きすること) app\views\kittakashoplist\bykittakashop2019.html.erb 前回に戻る テンプレート作成 サクラエディタで自作する C:\SadaData\rails\kittakashop\app\views\kittakashoplist\(空) C:\SadaData\rails\kittakashop\app\views\kittakashoplist\bykittakashop2019.html.erb テンプレートファイル名は「(アクション名).html.erb」とします。 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>キッタカ</title> </head> <body> <h1>キッタカ</h1> <p> SQLiteのデーターベース名?これはアプリの名前かな?<br> テーブル名titles、勝手にエスがついたり任意の名前に変えたりすると初期値が入力できない、とにかく難しい。<br> カラム名、「kit_name」「kit_date」これだけ任意の名前を付けることができた。 </p> <!--↓RubyのプログラムのコントローラbooklistでSQLiteの全てのデータを変数@titlesに名札付けした--> <!--変数@titlesを繰り返しtitleに名札付けする--> <!--kit_nameはカラム、kit_dateもカラム名--> <p> <% @titles.each do |title| %> [名前] <%= title.kit_name %>, [日付] <%= title.kit_date %><br /> <% end %> </p> </body> </html> ○○ローカル環境のサーバにブラウザからアクセスした時の設定 ↓コントローラー名 上記のコントローラー「kittakashoplist」の 「bykittakashop2019」C:\SadaData\rails\kittakashop\app\views\kittakashoplist\bykittakashop2019.html.erb への関連付け 前々回にもどる C:\SadaData\rails\kittakashop\config\routes.rbをさくらエディタで開き下記を書き込む 注意、お手本ではmatchとなっていますが、get へ変更します。 match 'hello' => 'booklist#hello' match 'bye' => 'booklist#bye' ブラウザから コントロールー名↓ URL://localhost:3000/atsushisadachika ↓→ →→ → → → → → → →↓ get 'kittaka' => 'kittakashoplist#bykittakashop2019' get 'bye' => 'sadabooklist#bye' 説明のためだけで現在は使っていない get 'sadahello' => 'sadabooklist#sada_hello' 説明のためだけで現在は使っていない get 'sadabye' => 'sadabooklist#sada_bye' 説明のためだけで現在は使っていない get 'sada1hello' => 'sadabooklist#sada1_hello' 説明のためだけで現在は使っていない get 'sada1bye' => 'sadabooklist#sada1_bye' 説明のためだけで現在は使っていない コントロールー名↑ ↓ ↓コントローラのハローに関連付けられている(注意、ファイル形式をutf-8とし上書きすること) C:\SadaData\rails\kittakashop\app\controllers\kittakashoplist_controller.rb # coding: utf-8 ↑コントローラー名 class BooklistController < ApplicationController def bykittakashop2019 @titles = Title.all end ↓ ↓ ビューで出力される「bykittakashop2019.html.erb」 C:\SadaData\rails\kittakashop\app\views\kittakashoplist\bykittakashop2019.html.erb ↑コントローラー名 C:\SadaData\rails\kittakashop>rails server ブラウザからアクセス URL://localhost:3000/kittaka
これは赤色の文字例です。
これは青色の文字例です。