- 追加された行はこの色です。
- 削除された行はこの色です。
-Railsについて学んでみる。
#contents
*参考サイト [#h65dfbc9]
http://openbook4.me/projects/92
*インストール [#g613fd02]
**Linux [#wd41c40d]
2015年時点でRails4をインストールする場合、CentOS7ですら依存バージョンが古かったりでインストールが大変である。
**Mac [#f545f329]
-rbenvでruby最新安定版を入れる
brew update
brew install rbenv ruby-build
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
rbenv install -l
rbenv install 2.3.4
rbenv rehash
rbenv global 2.3.4
-MYSQL使うならMySQLを入れておく
brew install mysql
gem install mysql2
-rails
gem install rails
gem install bundler
-サンプルアプリ生成
railas new sample
-mysqlで接続するにはもっとライブラリが必要
brew install mysql
*DB Model [#c33bf9f2]
**条件 [#l9daa2ef]
#配列を渡せばIN検索
Model.find(idArray)
Model.where " age > ?", param1
Model.where age: param1
**ソート [#mf33179f]
Model.where("name like ?",param1).order 'age asc'
**検索結果 [#ka583418]
result = Model.where age: param1
result.first
result.last
*アソシエーション [#e04ce7ed]
主テーブルにhas_many or has_one,従属テーブルにbelongs_toをつける!
*DB migration [#we6c6a54]
rake db:create (以後はdb:migrate)
rails g scaffold account name:string password:string category_id:integer memo:string
**Windows [#v6d06426]
*基本 [#m6b55e4f]
*コマンド [#h1b8d05c]
|mynewappというアプリケーションを作る|rails new mynewapp|
|indexとshowのviewを作成|rails g controller users index show|
|DB作成|rake db:create|
|mynewappというアプリケーションを作る|rails new mynewapp||
|usersコントローラーのindexとshow/updateのviewを作成|rails g controller users index show update||
|ルーティングの確認|rails routes||
|modelを作成|rails g model book isbn:string title:string price:integer publish:string publised:date dl:boolean|db/migrate/以下のファイルが生成物|
|model作成後にDB作成|rake db:create|
|model booksにダミーデータ10件作成|rails db:fixtures:load FIXTURES=books|
|DB接続|rails console|各DBクライアントのラッパー|
**コマンド補完 [#q4b85e16]
brew install bash-completion
-.bash_profileに下記を追記
if [ -f $(brew --prefix)/etc/bash_completion ]; then
. $(brew --prefix)/etc/bash_completion
fi
-/usr/local/etc/bash_completion.d/にrails補完用ファイルを配置
*View [#l4021bd5]
-このように定義して
@user = Hash.new
@user[:name] = 'taro'
-こんな感じで出す!
<h1><%= @user[:name] %></h1>
*メッセージ [#rc1e255a]
-国際化のためにメッセージファイルを別に持っておく。flashはcakephpと同じで軽いエラーメッセージを出す場合に使う。
flash[:error] = message('dashboard.project_not_found')
*DBマイグレーション [#n8c2ec67]
**既存DBから定義を作成 [#n6669854]
https://www20.atwiki.jp/katow30it/pages/12.html
*アソシエーション [#za613467]