Domande taggate «rails-activerecord»

L'implementazione della mappatura relazionale a oggetti (ORM) utilizzando il modello Active Record nel framework Ruby on Rails.

26
Come posso impostare i valori predefiniti in ActiveRecord?
Come posso impostare il valore predefinito in ActiveRecord? Vedo un post di Pratik che descrive un brutto, complicato pezzo di codice: 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') yield self …






5
Rotaie in cui condizione utilizzando NOT NIL
Utilizzando lo stile rails 3 come scriverei l'opposto di: Foo.includes(:bar).where(:bars=>{:id=>nil}) Voglio trovare dove ID NON è zero. Provai: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Ma questo ritorna: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Non è sicuramente quello di cui ho bisogno e sembra quasi un bug in ARel.

8
Rotaie: include vs.: join
Questa è più una domanda "perché le cose funzionano in questo modo" piuttosto che una domanda "Non so come fare" ... Quindi il vangelo sull'estrazione di documenti associati che sai di usare sarà quello di usarlo :include perché otterrai un join ed eviterai un sacco di domande extra: Post.all(:include => …





7
ActiveModel :: ForbiddenAttributesError durante la creazione di un nuovo utente
Ho questo modello in Ruby ma lancia un 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 :password, …

15
Come esprimere una query NOT IN con ActiveRecord / Rails?
Solo per aggiornare questo dato che sembra che molte persone arrivino a questo, se stai usando Rails 4 guarda le risposte di Trung Lê` e VinniVidiVicci. Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) Spero che ci sia una soluzione semplice che non implichi find_by_sql, altrimenti credo che dovrà funzionare. Ho trovato questo articolo che fa …


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.