Programação rails-activerecord
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.
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') …
417 ruby-on-rails rails-activerecord
Qual é a maneira mais fácil de duplicar um registro de registro de atividade?
Desejo fazer uma cópia de um registro de registro ativo, alterando um único campo no processo (além do ID ). Qual é a maneira mais simples de conseguir isso? Sei que poderia criar um novo registro e iterar sobre cada um dos campos que copiam os dados campo por campo …
412 ruby-on-rails ruby rails-activerecord
Como você escreve uma migração para renomear um modelo ActiveRecord e sua tabela no Rails?
Sou péssimo em nomear e percebo que há um conjunto melhor de nomes para meus modelos no meu aplicativo Rails. Existe alguma maneira de usar uma migração para renomear um modelo e sua tabela correspondente?
408 ruby-on-rails migration rails-activerecord
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 Continuo aprendendo sobre os novos e adoraria ter uma lista à qual pudesse me referir facilmente.
406 ruby-on-rails ruby ruby-on-rails-4 rails-activerecord
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 …
392 ruby-on-rails ruby rails-activerecord
Existe uma alternativa para update_attributes que não salva o registro? Então eu poderia fazer algo como: @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save BTW, eu sei que posso @car.model = 'Sierra', mas …
386 ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rails-activerecord
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.
359 ruby-on-rails rails-activerecord arel
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 …
345 ruby-on-rails ruby database join rails-activerecord
Como você exclui um objeto ActiveRecord? Eu olhei para o Active Record Querying e ele não tem nada a excluir que eu possa ver. Excluir por id, Excluir o objeto atual como: user.remove, Você pode excluir com base em uma wherecláusula?
328 ruby-on-rails rails-activerecord
Um usuário tem muitos envios. Quero adicionar uma coluna à uploadstabela que referencia o arquivo user. Como deve ser a migração? Aqui está o que eu tenho. Não tenho certeza se devo usar (1) :user_id, :intou (2) :user, :references. Eu nem tenho certeza se (2) funciona. Apenas tentando fazer isso …
310 ruby-on-rails ruby-on-rails-4 rails-activerecord rails-migrations
O Ruby on Rails gera o modelo field: type - quais são as opções para field: type?
Estou tentando gerar um novo modelo e esquecer a sintaxe para referenciar o ID de outro modelo. Eu mesmo pesquisaria, mas não descobri, entre todos os meus links de documentação do Ruby on Rails, como encontrar a fonte definitiva. $ rails g model Item name:string description:text(e aqui um reference:productou outro …
Flutuante vs decimal no ActiveRecord
Às vezes, os tipos de dados do Activerecord me confundem. Erre, frequentemente. Uma das minhas eternas perguntas é, para um dado caso, Devo usar :decimalou :float? Eu sempre encontrei esse link, ActiveRecord:: decimal vs: float? , mas as respostas não são suficientemente claras para que eu tenha certeza: Eu já …
283 ruby-on-rails types floating-point decimal rails-activerecord
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 …
223 ruby-on-rails rails-activerecord
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 …
207 ruby-on-rails rails-activerecord
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 …