Rails勉強備忘録
知り合いがまとめてくれた記事。
http://qiita.com/runamoon@github/items/5277970364dca43b1204
ActiveRecord::Aggregations::ClassMethods
バリューオブジェクト関連のメソッド。
class Customer < ActiveRecord::Base
composed_of :balance, class_name: "Money", mapping: %w(balance amount)
composed_of :address, mapping: [ %w(address_street street), %w(address_city city) ]
end
ActionDispatch::Routing::Mapper::Concerns
concern :commentable do
resources :comments
end
concern :image_attachable do
resources :images, only: :index
end
resources :messages, concerns: [:commentable, :image_attachable]
ActiveModel::AttributeMethods::ClassMethods
concern :commentable do
resources :comments
end
concern :image_attachable do
resources :images, only: :index
end
resources :messages, concerns: [:commentable, :image_attachable]
alias_attribute(new_name, old_name)
class Person
include ActiveModel::AttributeMethods
attr_accessor :name
alias_attribute :nickname, :name
end
person = Person.new
person.name = 'Bob'
person.name # => "Bob"
person.nickname # => "Bob"
ActiveRecord::Associations::ClassMethods
Polymorphic Associations の実装方法
class Asset < ActiveRecord::Base
belongs_to :attachable, polymorphic: true
end
class Post < ActiveRecord::Base
has_many :assets, as: :attachable
end
ActiveRecord::AttributeMethods::Serialization::ClassMethods
serialize のデフォルトはYAML
class User < ActiveRecord::Base
serialize :preferences, JSON
end
class User < ActiveRecord::Base
serialize :preferences, Hash
end
ActiveRecord::Store
serialize のラッパー。
class User < ActiveRecord::Base
store :settings, accessors: [ :color, :homepage ], coder: JSON
end
ActiveRecord::Querying
find_by_sql の戻り値は配列
ActiveRecord::Batches
find_in_batches のオプションは batch_size と start
ActiveSupport::Testing::Assertions
assert_difference の書き方は3パターン
assert_difference 'Article.count' do
post :create, article: {...}
end
assert_difference [ 'Article.count', 'Post.count' ], 2 do
post :create, article: {...}
end
assert_difference ->{ Article.count }, 2 do
post :create, article: {...}
end
Rails 固有のアサーション
- assert_difference
- assert_no_difference
- assert_recognizes
- assert_generates
- assert_response
- assert_redirected_to
- assert_template
Author And Source
この問題について(Rails勉強備忘録), 我々は、より多くの情報をここで見つけました https://qiita.com/ojiry/items/e3c85d312bffdce26022著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .