モデル (ActiveModel)
参考:
モデル (model) | Railsドキュメント (railsdoc.com)
ActiveRecord::Base | Ruby on Rails API [Official]
ActiveModel::Model | Ruby on Rails API [Official]
ActiveModel::Naming | Ruby on Rails API [Official]
Active Model の基礎 | Rails ガイド [公式]
Active レコードの基本 | Rails 日本語ドキュメント (Ruby STUDIO)
create_table | Railsドキュメント (railsdoc.com)
create / create!
参考:
create | Railsドキュメント (railsdoc.com)
create – ActiveRecord::Persistence::ClassMethods | Ruby on Rails API [Official]
create! – ActiveRecord::Persistence::ClassMethods | Ruby on Rails API [Official]
保存時の例外処理
参考:
save! create! update! のバリデーション例外を捕捉する – Qiita
find
参考:
find – ActiveRecord::FinderMethods | Ruby on Rails API [Official]
find_or_create_by / find_or_create_by!
参考:
Rails の find_or_create_by の block は create した際にしか実行されない – Qiita
find_or_create_by – ActiveRecord::Relation | Ruby on Rails API [Official]
update / update_all
参考:
update where in について | とりあえず php とか
Rails 5 allows to update records in AR Relation with callbacks and validations | BigBinary Blog
update – ActiveRecord::Persistence | Ruby on Rails API [Official]
update_all – ActiveRecord::Relation | Ruby on Rails API [Official]
save / save!
参考:
save – ActiveRecord::Persistence | Ruby on Rails API [Official]
save! – ActiveRecord::Persistence | Ruby on Rails API [Official]
assign_attributes / attributes=
参考:
assign_attributes – ActiveModel::AttributeAssignment | Ruby on Rails API [Official]
複数のレコードを生成する
参考:
配列の要素の数に応じて、複数のレコードを生成したい – teratail
レコードの配列を ActiveRecord::Relation に変換する
参考:
配列を ActiveRecord::Relation に変換する – Qiita
destroy_all / delete_all
参考:
destroy_all と delete_all – Qiita
destroy_all | Railsドキュメント (railsdoc.com)
destroy_all – ActiveRecord::Relation | Ruby on Rails API [Official]
delete_all – ActiveRecord::Relation | Ruby on Rails API [Official]
ids
参考:
ids – ActiveRecord::Calculations | Ruby on Rails API [Official]
pluck
参考:
pluck – ActiveRecord::Calculations | Ruby on Rails API [Official]
attributes
参考:
attributes – ActiveRecord::AttributeMethods::ClassMethods | Ruby on Rails API [Official]
attribute_names
参考:
attribute_names – ActiveRecord::AttributeMethods | Ruby on Rails [Official]
table_name
参考:
ActiveRecord::ModelSchema::ClassMethods | Ruby on Rails [Official]
Get table name from ActiveRecord – Stack Overflow
to_key
標準の実装では id
を含む配列を返す。
def to_key
key = respond_to?(:id) && id
key ?
: nil
end
参考:
to_key – ActiveModel::Conversion | Ruby on Rails API [Official]
to_key (ActiveModel::Conversion) | APIdock
to_param
標準の実装では、モデルの全てのキーをハイフンで連結した文字列を返す。
def to_param (persisted? && key = to_key) ? key.join("-") : nil end
参考:
Rails で URL にモデルの ID 以外の値を表示する Tips | Rails Webook
to_param – ActiveModel::Conversion | Ruby on Rails API [Official]
to_key / to_param のカスタマイズ
参考:
to_key と to_param で URL や HTML 中のリソースの id を別の文字列にしてしまう – Qiita
to_model
モデルのクラスを返す。ActiveModel
の機能を実装したクラスの場合、self
を返すデフォルトの実装が使用できる。
ActiveModel::Model
を include
する。
class A include ActiveModel::Model end
もしくは、ActiveModel::Conversion
を include
する。
class A include ActiveModel::Conversion end
to_model
が使えるようになる。
A.new.to_model.class # => A
参考:
to_model – ActiveModel::Conversion | Ruby on Rails API [Official]
アトリビュートのデフォルト値を設定する
after_initialize
コールバックでアトリビュートのデフォルト値を設定する
class Person < ActiveRecord::Base after_initialize :init def init self.name ||= "John" end end
参考:
How can I set default values in ActiveRecord? – Stack Overflow
ActiveModel::Model
参考:
ActiveModel::Model | Ruby on Rails API [Official]
ActiveModel を使って DB と関係ない Form を作成する | tanihiro.log
ActiveModel::Model で簡単に ActiveModel の機能を利用する | happy lie, happy life
Active Model を使って、Class にバリデーションなどの便利機能を追加 | 酒と涙とRubyとRailsと
ActiveModel::Name
参考:
ActiveModel::Name | Ruby on Rails API [Official]
new – ActiveModel::Name | Ruby on Rails API [Official]
ActiveModel::Validations on anonymous class – Stack Overflow
human
参考:
ActiveModel::Name | Ruby on Rails API [Official]
ActiveModel::Translation
参考:
Rails の Form オブジェクトの日本語化 – Qiita
ActiveModel::Translation | Ruby on Rails API [Official]
human_attribute_name – ActiveModel::Translation | Ruby on Rails API [Official]
How can I translate ActiveRecord model class name? – Stack Overflow
ActiveModel::Dirty
参考:
Rails の ActiveRecord でカラムの変更前後の情報を取得 – Qiita
Rails で変更前の値、型変換前の値、などなど | TECHSCORE BLOG
Rails でモデルの変更前後の値 | 酒と涙とRubyとRailsと
ActiveRecord でデータを更新後に任意のカラムのデータが更新されたかを知る方法 | まっしろけっけ
ActiveRecord の changed? が非推奨になっている – Qiita
Tracking Attribute Changes in Rails 5 | Ruby Plus (rubyplus.com)
Checking for Changed Attributes in Ruby on Rails | Jason Charnes
ActiveModel::Dirty | Ruby on Rails API [Official]
rails/dirty.rb at 5-2-stable · rails/rails – GitHub
check if attribute changed – Stack Overflow
ActiveModel::Serialization
参考:
ActiveModel::Serialization | Ruby on Rails API [Official]
DateTime
ActiveModel::Type::DateTime
ActiveRecord::Type::DateTime
参考:
ActiveRecord::Type::DateTime | Ruby on Rails API [Official]
rails/active_record/type/date_time.rb at v5.2.3 · rails/rails – GitHub
rails/date_time.rb at v5.2.3 · rails/rails – GitHub
rails/date.rb at v5.2.3 · rails/rails – GitHub
rails/time.rb at v5.2.3 · rails/rails – GitHub
apply_seconds_precision
参考:
apply_seconds_precision – rails/time_value.rb at v5.2.3 · rails/rails – GitHub
TimeZoneConversion
参考:
ActiveRecord::AttributeMethods::TimeZoneConversion | Ruby on Rails API [Official]
rails/time_zone_conversion.rb at v5.2.3 · rails/rails – GitHub
active_type
参考:
makandra/active_type: Make any Ruby object quack like ActiveRecord – GitHub
Rails で fat model を避けるための、あまり知られていない方法について | おもしろ web サービス開発日記
モデルの一覧を取得する
参考:
Rails でモデルを全列挙する方法 | Ruby, Rails のコードメモ
How to List Out All the Models in Rails Console | Bishal Shrestha
Rails List All Models – GitHub Gist
List all model names in rails console – GitHub Gist
Is there a way to get a collection of all the Models in your Rails app? – Stack Overflow