diğer sütunların herhangi sitesinin ben sadece bir Foo
'ın User
ismini istediğinizi varsayalım değil, ActiveRecord derneklerinden yalnızca belirli sütunları istemek mümkün müdür?
def Foo
has_one :user
end
düşünün. böylece yalnızca bir sütun almak için dernek kullanmak için herhangi bir kaygan yol yoktur i
SELECT name FROM "users" WHERE "prices"."id" = 123
istiyorum ama yapıyor foo.user.name
bana
SELECT * FROM "users" WHERE "prices"."id" = 123
verecek? Bu sadece değerler dönecektir
User.select(:name).where(...)
: Eğer gibi .Select yöntemi kullanarak seçmek istediğinizi sütunları belirtebilirsiniz
User.where(id: foo.user_id).pluck(:name).first
Bunun kapsamı temsilci olabilir mi? Bir kapsam genellikle ActiveRecord :: İlişkisi verir, boş veya değil. Bir yöntem daha uygun (veya delege edilebilir mi?) – MrYoshiji
Eh, bu bir ActiveRecord sorgu yöntemleri zinciridir, bu yüzden bir ilişki döndürdüğünü düşünüyorum - bununla ilgili tek garip şey, bunun yerine Bar sınıfında yerleşik bir ilişki döndürmesidir. Foo sınıfının - ama bir kez bir şeylere gittiniz. (başka bir deyişle, bunu zaten yapıyorsunuz). Bir yöntemin tanımlanması, bunun için de olsa iyi bir yol olacaktır. Böyle bir şey yapmaya hiç gerek duymadım, bu yüzden hangisinin daha iyi ya da neden olduğu konusunda bir referans çerçevem yok. – Andrew