Rubyと同じく個人用
間違っていたら教えて頂きたい。
開発環境
AWS Cloud9
Ruby on Railsスタート
基本的にはLaravelと同じでMVCの考え方で大丈夫らしい。
環境構築
$ gem install rails -v 5.2.4
$ rails new app_name
コントローラ作成
コントローラ名はなるべく複数形
てかだいたい複数形
場所は
~/home/ec2-user/environment/アプリ名/app/controllers
$ rails g controller コントローラ名
コントローラアクション付きコマンド
$ rails g controller コントローラ名 アクション名
$ rails g controller todolists home
コントローラ削除
$ rails d controller コントローラ名
ルーティング設定
ルーティングに対しての考え方はLaravelと同じ
結構何でも支配している、司令室みたいなところ
Rails.application.routes.draw do
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
get 'home' => 'tops#home'
# URLでhomeのところに来たら、 topsコントローラのhomeアクションをかますよ!って意味
end
ビュー設定
~/app/view/名前のところに先ほど指定したファイル(home.html.erb)を作ればいいだけ
htmlやら何やらのUIは頑張るしかない
サーバー起動方法
下記のどっちか
$ rails server
$ rails s
エラーメッセージについてはいつかまとめる。
モデル作成
データベース関連と一瞬で繋がっちゃうすごいやつ。
詳しくは調べてみてくださいね(フレームワークの醍醐味だから)
$ rails g model モデル名
単数形、最初大文字
4つファイルが出てきたらOK
マイグレーションファイル作成
もうLaravelではおなじみのアレ
テンプレート的なのを貼っておきます
class CreateLists < ActiveRecord::Migration[5.2]
def change
create_table :lists do |t|
t.string :name
t.string :contents
t.timestamps
end
end
end
マイグレートする
マイグレーションファイルにあるものをデータベースに反映するための呪文
$ rails db:migrate
マイグレート後のカラム追加
$rails g migration Addカラム名Toテーブル名 カラム名:型名
$rails g migration AddIdToLists Id:int
マイグレート後のカラム削除
$rails g migration Removeカラム名Fromテーブル名 カラム名:型名
$rails g migration RemoveIdFromLists Id:int
まぁ英語を考えればわかりやすいよな
でもここまでやって俺は思った。
データベースって作成したっけ??
あれれれれ?
あとあと調べてみると、僕が普段使っていたMySQLではなくRubyonRailsはデフォルトでSQLiteを使用しているらしい…(道理でMysql探しても見当たらなかったわけだ)
ちなみにデータベースは
$rake db:create
これでできるらしい
とはいえまだまだ謎だらけ、勢いあまりすぎたかな…?
随時更新していきますね。