Qual é a diferença entre arrancar e recolher em Carris?

Aqui estão dois códigos de amostra. o primeiro com collect: User.first.gifts.collect(&:id) O Segundo com pluck: User.first.gifts.pluck(:id) Há alguma diferença entre eles no desempenho ou outra coisa?

procurar vs procurar por vs onde

Sou novo nos carris. O que eu vejo é que há muitas maneiras de encontrar um registro: find_by_<columnname>(<c ... alue> } where(<columnname> => <columnvalue>) Existe uma regra ou recomendação sobre qual deles usar?

Como consigo o nome de uma aula de rubi?

Como posso obter o nome da classe de um objecto ActiveRecord? tenho: result = User.find(1) tentei: result.class ... para isso? Sei que isto é bastante básico, mas procurei nos documentos do Rails e da Ruby, e não consegui encontrá-lo.