編集中
memo
- モデル名.find_by ID以外のカラムで検索 一件取得
- ルーティング一覧 http://localhost:3000/rails/info/routes
- where 配列が取得できる
- belongs_to :hoge(〜〜〜.idこの場合はhoge_idのカラム) ,class_name: 'User'(モデル名)
- new_record?はDBにレコードが登録されて「いなければ」true 登録されていればfalseになります。
- inspectメソッドとは、オブジェクトや配列などをわかりやすく文字列で返してくれるメソッド
- コールバック一覧
- Post.first 最初のデータを取得
- i18n
- Rails: nil?, empty?, blank?, present?の挙動
- railsはビューではなくアクションで変数を定義するのが一般的
- Railsでは、「views/layouts/application.html.erb」に共通のHTMLを書いておくことができる
ActiveRecord
- ActiveRecordとは
- Ruby on RailsのORマッパー
- ActiveRecordを継承するクラスはDB名の大文字、単数形に変える
例:serviceplans → ServicePlan - ActiveRecord入門
has_many
所有する
ownerがcatlesを所有する場合は
app/models/owner.rbに以下のように記載する
has_many :castles
belongs_to
所有されている
catlesがownerに所有されている場合は
app/models/owner.rbに以下のように記載する
belongs_to :owner
class Hoge < ActiveRecord::Base
has_many :sample_dbs
end
class Hoge < ActiveRecord::Base
belongs_to :sample_dbs
end
dbフォルダ配下のseeds.rb(rubyで)でデータベースを作る
rails db:seed
マイグレーション機能
SQLを書くことなくRubyでデータベース内にテーブルを作成することができる機能
SQLを書く必要がない理由は、Ruby on Rails内のActiveRecordという機能が
RubyをSQLに自動翻訳することができるためです。
seeds.rb
テーブルにデータを登録する仕組み
jbuilder
views以下にxxx.json.jbuilderファイルを作ってlocalhost:3000/items.jsonにアクセスすればjson形式のレスポンスが返ってくれます
http://www.cl9.info/entry/2015/03/07/103121
rails db:migrate
Rails 5以前のバージョンでは、db:migrateコマンドはrailsコマンドではなくrakeコマンドが使われていました
・Jobとは
メールの送信、データのインポート/エクスポートなどの時間のかかる処理を、
適した方 法でバックエンドで行うためのコンセプト
・Delayed Jobとは
非同期処理を行うためのgem 他にResque Sidkiqなどがある
https://ruby-rails.hatenadiary.com/entry/20150304/1425396671
Railsでの非同期処理とDelayed Job
・Active Jobとは
色々ある非同期ライブラリに対して同じインターフェースを提供するライブラリです。
用語 | 説明 | 備考 | |
---|---|---|---|
rails s | WEBrickの起動 | ||
pluck | 指定したカラムの配列を取得する | mapに比べて早い | |
db/schema.rb | 現在のDB(スキーマ)一覧がある | ||
rake db:migrate | テーブル作成 | ||
rake db:seed | データを投入 | ||
rails c | コンソール起動 | rails c --sandbox DBを変更したくない場合はこれを使う |
|
delayed_job | バックグラウンドで非同期処理をしてくれるrailsのgemの一種 delay enqueueの2種類がある Class.delay.method(hoge) methodが呼ばれると、次に行われる処理がデータベース内のdelayed_jobsテーブルに格納される |
キューに入れる、enqueueすると表現するらしい | |
DBのルール | 外部キーはxxx_idという表記になる |
参照リンク
入門
[Ruby on Rails チュートリアル:実例を使って Rails を学ぼう]
(https://railstutorial.jp/)
[Ruby on Rails入門]
(https://www.rubylife.jp/rails/)
[小学生でもわかるRuby on Rails入門 | OpenBook]
(https://openbook4.me/projects/92)
[]
()
[]
()
ブログ
[Rails Webook]
(https://ruby-rails.hatenadiary.com/)
[]
()
[]
()
[]
()
その他
[Ruby on RailsのAjax処理のおさらい]
(https://qiita.com/ka215/items/dfa602f1ccc652cf2888#controller%E3%81%AE%E4%BE%8B)
[]
()
[]
()