-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|| |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]