Articles of rails activerecord

Rails onde condição usando NOT NULL

Usando o estilo de rails 3 como eu escreveria o oposto de: Foo.includes(:bar).where(:bars=>{:id=>nil}) Eu quero encontrar onde id não é nulo. Eu tentei: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Mas isso retorna: => “SELECT \”foos\”.* FROM \”foos\” WHERE (\”bars\”.\”id\” = 1)” Isso definitivamente não é o que eu preciso, e quase parece um bug no ARel.

Valide a exclusividade de várias colunas

Existe uma maneira de validar que um registro real é exclusivo e não apenas uma coluna? Por exemplo, um modelo / tabela de amizade não deve ter vários registros idênticos como: user_id: 10 | friend_id: 20 user_id: 10 | friend_id: 20

Rails 5: ActiveRecord OU consulta

Como você faz uma consulta no Rails 5 ActiveRecord? Além disso, é possível encadear or com where nas consultas do ActiveRecord?

Acesso a current_user a partir de um modelo em Ruby on Rails

Eu preciso implementar controle de access refinado em um aplicativo Ruby on Rails. As permissions para usuários individuais são salvas em uma tabela de database e eu pensei que seria melhor deixar o respectivo recurso (ou seja, a instância de um modelo) decidir se um determinado usuário tem permissão para ler ou gravar nele. Tomar […]

Combine dois objects ActiveRecord :: Relation

Suponha que eu tenha os dois objects a seguir: first_name_relation = User.where(:first_name => ‘Tobias’) # ActiveRecord::Relation last_name_relation = User.where(:last_name => ‘Fünke’) # ActiveRecord::Relation é possível combinar as duas relações para produzir um object ActiveRecord::Relation contendo ambas as condições? Nota: Estou ciente de que posso encadear o wheres para obter este comportamento, o que eu estou […]

Entendendo: opção de origem de has_one / has_many através do Rails

Por favor, ajude-me a compreender a opção :source de has_one/has_many :through associação. A explicação da API do Rails faz muito pouco sentido para mim. “Especifica o nome da associação de origem usada por has_many :through => :queries . Use-a apenas se o nome não puder ser inferido da associação. has_many :subscribers, :through => :subscriptions procurarão […]

ActiveRecord OU consulta notação Hash

Eu sei que existem 3 principais notações para fornecer argumentos para o método where ActiveRecord: Corda Pura Matriz Jogo da velha Especificando and para o método where é direto: # Pure String notation Person.where(“name = ‘Neil’ AND age = 27”) # Array notation Person.where([“name = ? AND age = ?”, ‘Neil’, 27]) # Hash notation […]

Rails 4: lista de tipos de dados disponíveis

Onde posso encontrar uma lista de tipos de dados que podem ser usados ​​no Ruby on Rails 4? Tal como text string integer float date Eu continuo aprendendo sobre os novos e eu adoraria ter uma lista que eu pudesse me referir facilmente.

Como posso evitar a execução de retornos de chamada do ActiveRecord?

Eu tenho alguns modelos que têm callbacks after_save. Geralmente está tudo bem, mas em algumas situações, como ao criar dados de desenvolvimento, eu quero salvar os modelos sem que os retornos de chamada sejam executados. Existe uma maneira simples de fazer isso? Algo parecido com … Person#save( :run_callbacks => false ) ou Person#save_without_callbacks Eu olhei […]

Registro random no ActiveRecord

Eu estou precisando obter um registro random de uma tabela via ActiveRecord. Eu segui o exemplo de Jamis Buck de 2006 . No entanto, também encontrei outro caminho por meio de uma pesquisa do Google (não posso atribuir um link devido a novas restrições de usuário): rand_id = rand(Model.count) rand_record = Model.first(:conditions => [“id >= […]