環境:
MySQLを使える状態(gemでmysql 2.8.1を入れている、Mac自体にmysql5.5.23を入れている)
viコマンドが使えるor AptanaStudio3 orエディタで編集の仕方を理解していること
学べること:
railsの使い始めの方に、はじめの一歩
mysqlとrailsの連携が簡単ということを学ぶ
個人的には、mysqlを使えた方が、sqlite使いになるより将来有益であると思っているんで、
mysqlを利用する方法を推奨します。また、viコマンドは、ターミナルとにらめっこが多いのと操作性がいまいちという点でAptanaを推奨してます。Aptanaのインストールについてはこちらから。
Aptana Studio 3ダウンロードはこちら↓
http://www.aptana.com/products/studio3/download
AptanaではなんもいじらないとjQueryが入っていません。なので、インストール方法はこちらを参考に↓
http://banker0507.blogspot.jp/2012/04/aptana-studio-3jquery.html
個人的には、mysqlを使えた方が、sqlite使いになるより将来有益であると思っているんで、
mysqlを利用する方法を推奨します。また、viコマンドは、ターミナルとにらめっこが多いのと操作性がいまいちという点でAptanaを推奨してます。Aptanaのインストールについてはこちらから。
Aptana Studio 3ダウンロードはこちら↓
http://www.aptana.com/products/studio3/download
AptanaではなんもいじらないとjQueryが入っていません。なので、インストール方法はこちらを参考に↓
http://banker0507.blogspot.jp/2012/04/aptana-studio-3jquery.html
では、早速掲示板を作ってみたいと思います。
scaffoldは最終的にDBを使えないので、
ちゃんとDBを使う方法を学んどいた方がいいです、はい。
あとからDB変更もできますが、最初に宣言した方が、簡単です。
scaffoldは最終的にDBを使えないので、
ちゃんとDBを使う方法を学んどいた方がいいです、はい。
あとからDB変更もできますが、最初に宣言した方が、簡単です。
$ rails new bbs(名前) -T -J -d mysql
$ cd bbs bbsディレクトリに移動
まずデータベースの設定 config/database.yml
ここのpassとユーザー名、3箇所とも変更
==================================================================
ここのpassとユーザー名、3箇所とも変更
==================================================================
ymlとは(YAML)”YAML Ain't a Markup Language"
YAMLはマークアップ言語ではなく、データを入力しておくため(データ重視を目的とした)の言語。
テキストのため可読。概念はXMLやC,Python、Perlから来ている。
インデントにはタブが使えず、スペースのみである。
ちなみにXMLとは、文書やデータを記述するためのマークアップ言語。
ちなみにJSONはjavascript(object notation)で書かれた同じようなデータ利用できる言語。
csvファイるのほうが、JSONより軽いらしい。
==================================================================
$ rake db:create データベースつくりますよー
$ rails server http://localhost:3000/ でひらくと Welcome aboardがひらけます。
ここでhttp://localhost:3000/bbs2でやるとまだルーティングがうまくできてないので、
エラーが出ます。
エラーが出ます。
エラーが出たでしょw
$ rails generate controller movies コントローラークラスの作成をします。
ちなみに走らせたrails serverを止めるには、ターミナル上でctrl+c です。(command+cではないです)
app/controllers/movies_controller.rb を編集します。
# coding: utf-8
class MessagesController < ApplicationController
def index
@msg = 'こんにちわ!'
end
end
テンプレートファイルを作成
app/views/messages/index.html.erb
<%= @msg %>
ここでindex.html.erbファイルはできてないはずなんで自分で保存するときか、名前をつけるときに拡張子をいじって保存します。
ここでindex.html.erbファイルはできてないはずなんで自分で保存するときか、名前をつけるときに拡張子をいじって保存します。
ルーティング設定の定義
$ vi config/routes.rb ←ターミナル上でいじりたいなら、viをつけていじります。基本操作は :wq保存して終了、 :w保存せずに終了 insert mode との切り替えはescで。
match ':controller(/:action(/:id(.:format)))'
ここでhttp://localhost:3000/movies で「こんにちわ!」が表示されるはずです。
=================================================================
=================================================================
表示されない場合で、一番考えられるのは、ルーティング設定のところで、
余分にスペースなどをいれていないでしょうか?
余分にスペースなどをいれていないでしょうか?
=================================================================
モデルの作成
$ rails generate model movie name:string title:string body:text password:string
$ rake db:migrate マイグレーションを実行します。
この状態でmysqlでデータベースが作られているか、確認します。
$ mysql -u 自分で登録したもの -p
password:自分で登録したもの
mysql> show databases;
mysql>use bbs_development;
mysql>show tables;
でここにmoviesというDBが存在することがわかります。
注意する点はmodelでは、movieというDBを作ったのに、実際はmoviesになっていることです。
続いて、test/fixtures/movies.yml これもディレクトリが存在しないので、testディレクトリ、fixturesディレクトリを作成し、最後にmovies.ymlファイルを作ります(今度は複数形のsをつけます。混同しないようにw)。
one:
name: 半谷
title: ソーシャルネットワーク
body: ザッカーバーグかっこええ!
password: pass
two:
name: 藤本
title: forrest gump
body: いいよね!
password: password
今作ったymlファイルをDBに読み込ませる
$ rake db:fixtures:load FIXTURES=movies ←拡張子の.ymlまで入力すると自動的認識しているため、重複して読もうとし、失敗してしまいます。
今作ったものをmysql上で確認します。
rails dbconsole
select * from movies;
exit
indexファイルを書き換える。
movieテーブルを表示させる。
$ vi app/controllers/messages_controller.rb
# coding : utf-8
class MoviesController < ApplicationController
def index
@movies = Movie.all
end
end
$ vi app/views/messages/index.html.erb
<table>
<tr>
<th>名前</th><th>タイトル</th><th>本文</th><th>編集/削除キー</th>
</tr>
<% @movies.each do |movie| %>
<tr>
<td><%= movie.name %></td>
<td><%= movie.title %></td>
<td><%= movie.body %></td>
<td><%= movie.password %></td>
</tr>
<% end %>
</table>
http://localhost/movies にアクセスする。
テーブルの内容が表示されます。
にしても、おれのブログの作り方へたくそやなーw
にしても、おれのブログの作り方へたくそやなーw