へっぽこエンジニアです。
railsについて結構いろいろ教えてもらったので忘れないようにメモ
フレームを作る
yieldはいろいろつけられる
rake db
rake db:rollback rake db:migrate
class CreateUsers < ActiveRecord::Migration[5.0] def change create_table :users do |t| t.string :name t.string :email t.timestamps end end end
class DeleteisXxx < ActiveRecord::Migration[5.0] def up remove_column :pictures, :isXXX, :boolean end end
db:migrate
はmigrationファイルで作って欲しい、変更してほしい指示書を実行するコマンド
これをすることによってdbに変更を加えたり作成することができる
db:rollbackはrollbackコマンドに対応した def changeや def upを実行する
GET prams
getパラメータを使う理由、検索ワードがURLにぶちこまれてその値を読み込んでー処理をする
なんてrailsでは当たり前だが、どうしてそんなURLにわざわざぶちこんでしまうのだろう?と疑問に思ってた
asakura先生の回答
urlに入れておけば、検索した本人以外の人が再現することが非常に容易になる。
URLをシェアするだけで多くの人が同様の動作をすることができる
これにはすごい納得した。
herokuへデプロイするまでの流れ
- コードを書く(sub limeなどテキストエディタ)
- git add / commit / push
- herokuでデプロイ
が基本的な流れ
herokuではrake db:migrateはされないため、ターミナルからherokuにrakeさせないといけない
heroku run rake db:migrate --app NAME(herokuで作ったappの名前)
gitをあげるまでの基本的なコマンド
git add . git commit -m "コメント内容 英語で書く練習を" git push dokku master や git push origin master
など。
routes.rb のなかみメモ
root :to => 'users#index'
rootをどこにするのかを記述。
#のあとにdef のどこかを書く。
> ||
mount RailsAdmin::Engine => '/admin', as: 'rails_admin'
resources :pictures
resources :users, only: [:index, :show]
|
adminをgemでいれると自動で一行目を記述してくれて読み込めるようになる。
urlの対応もここでしている
resourcesで、どれを使用するかを決定。
適用するために
resources : viewや、controller
rake (migrate,rollback) : model
を適用させるもの
resources にonly: [ ]を書く理由
制限をしないと、サーバたてたときにupdateとかがあるかのようにみえてしまう。
rails s をしてからエラーをみてみるとわかる。
実装がされている箇所見えていない箇所がわかるようにしてあげるためにonly
メソッドがあるかのようにみえてしまう。
POSTやGETなど。
POSTとかは決められているメソッドによって
デザイナーとかがみたときにいかれちゃう
thanks to : kazuma, taiga