SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

rails勉強会0408で勉強したこと


へっぽこエンジニアです。


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へデプロイするまでの流れ

  1. コードを書く(sub limeなどテキストエディタ)
  2. git add / commit / push
  3. 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