:: slice
のような関係に自動的に委任配列方法、あなたが言うことができるので、例えばSomeModel.where(prop: 'value').slice(0, 10)
なぜActiveRecord :: Relationはarray_delegableを削除しましたか? Rails 5で? Railsの4、ActiveRecordので
レール5.なぜで削除されましたか?
def array_delegable?(method)
Array.method_defined?(method) && BLACKLISTED_ARRAY_METHODS.exclude?(method)
end
def method_missing(method, *args, &block)
if @klass.respond_to?(method)
scoping { @klass.public_send(method, *args, &block) }
elsif array_delegable?(method)
to_a.public_send(method, *args, &block)
elsif arel.respond_to?(method)
arel.public_send(method, *args, &block)
else
super
end
end
そして、ここではRailsの5である:ここで
は、レール4における関係:: ActiveRecordの中に関連するコードです
def method_missing(method, *args, &block)
if @klass.respond_to?(method)
scoping { @klass.public_send(method, *args, &block) }
elsif arel.respond_to?(method)
arel.public_send(method, *args, &block)
else
super
end
end
(注:私はこの質問を投稿してみました明らかに登録が壊れており、助けを求める方法がない)