Perguntas com a marcação «rails-activerecord»

A implementação do mapeamento objeto-relacional (ORM) usando o padrão Active Record na estrutura Ruby on Rails.

26
Como posso definir valores padrão no ActiveRecord?
Como posso definir o valor padrão no ActiveRecord? Eu vejo uma postagem do Pratik que descreve um pedaço feio e complicado de código: http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model class Item < ActiveRecord::Base def initialize_with_defaults(attrs = nil, &block) initialize_without_defaults(attrs) do setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless !attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) } setter.call('scheduler_type', 'hotseat') …




5
Como obtenho o nome de uma classe Ruby?
Como posso obter o nome da classe de um objeto ActiveRecord? Eu tenho: result = User.find(1) Eu tentei: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" Eu preciso apenas do nome da classe, em uma string ( Userneste caso). Existe um método para isso? Sei que …


5
Trilhos onde condição usando NOT NIL
Usando o estilo Rails 3, como eu escreveria o oposto de: Foo.includes(:bar).where(:bars=>{:id=>nil}) Quero descobrir onde o 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)" Definitivamente, não é disso que eu preciso, e quase parece um bug no ARel.

8
Rails: include vs.: junções
Essa é mais uma pergunta "por que as coisas funcionam dessa maneira" em vez de uma pergunta "não sei como fazer isso" ... Portanto, o evangelho sobre a obtenção de registros associados que você sabe que usará é o de usar, :includeporque você se unirá e evitará um monte de …





7
ActiveModel :: ForbiddenAttributesError ao criar novo usuário
Eu tenho esse modelo em Ruby, mas lança um ActiveModel::ForbiddenAttributesError class User < ActiveRecord::Base attr_accessor :password validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20} VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX } validates :password, :confirmation => true validates_length_of …

15
Como expressar uma consulta NOT IN com ActiveRecord / Rails?
Apenas para atualizar isso, pois parece que muitas pessoas chegam a isso, se você estiver usando o Rails 4, observe as respostas de Trung Lê` e VinniVidiVicci. Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) Espero que exista uma solução fácil que não envolva find_by_sql, se não, acho que terá que funcionar. Encontrei este artigo que …

6
ActiveRecord: tamanho vs contagem
No Rails, você pode encontrar o número de registros usando ambos Model.sizee Model.count. Se você estiver lidando com consultas mais complexas, existe alguma vantagem em usar um método em detrimento do outro? Como eles são diferentes? Por exemplo, tenho usuários com fotos. Se eu quiser mostrar uma tabela de usuários …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.