Pytania otagowane jako rails-activerecord

Implementacja mapowania obiektowo-relacyjnego (ORM) przy użyciu wzorca Active Record w ramach Ruby on Rails.

26
Jak ustawić wartości domyślne w ActiveRecord?
Jak ustawić wartość domyślną w ActiveRecord? Widzę post od Pratika, który opisuje brzydki, skomplikowany fragment kodu: 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 if block_given? end end alias_method_chain …




5
Jak uzyskać nazwę klasy Ruby?
Jak mogę uzyskać nazwę klasy z obiektu ActiveRecord? Mam: result = User.find(1) Próbowałem: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" Potrzebuję tylko nazwy klasy w ciągu znaków ( Userw tym przypadku). Czy istnieje na to metoda? Wiem, że to dość proste, ale przeszukałem zarówno dokumenty …

4
Szyny update_attributes bez zapisywania?
Czy istnieje alternatywa dla update_attributes, która nie zapisuje rekordu? Więc mógłbym zrobić coś takiego: @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, wiem, że mogę @car.model = 'Sierra', ale chcę je wszystkie …

5
Szyny, w których warunek jest użyty NIE NIL
Używając stylu szyn 3, jak napisałbym przeciwieństwo: Foo.includes(:bar).where(:bars=>{:id=>nil}) Chcę dowiedzieć się, gdzie identyfikator NIE jest zerowy. Próbowałem: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Ale to zwraca: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" To zdecydowanie nie jest to, czego potrzebuję i prawie wydaje się błędem w ARel.

8
Szyny: dołączają vs.
Jest to raczej pytanie „dlaczego to działa w ten sposób”, a nie pytanie „nie wiem jak to zrobić” ... Dlatego ewangelią związaną z :includepobieraniem powiązanych rekordów, z których wiesz, że będziesz korzystać, jest skorzystanie, ponieważ dostaniesz połączenie i unikniesz mnóstwa dodatkowych zapytań: Post.all(:include => :comments) Jednak gdy spojrzysz na dzienniki, …



8
Ruby on Rails generuje pole model: typ - jakie są opcje dla pola: typ?
Próbuję wygenerować nowy model i zapomnieć o składni odwoływania się do identyfikatora innego modelu. Sam bym to sprawdził, ale nie znalazłem wśród wszystkich moich linków dokumentacji Ruby on Rails, jak znaleźć ostateczne źródło. $ rails g model Item name:string description:text(i tu albo reference:productalbo references:product). Ale lepszym pytaniem jest, gdzie i …

3
Zmienne vs dziesiętne w ActiveRecord
Czasami mylą mnie typy danych Activerecord. Err, często. Jednym z moich wiecznych pytań jest, w danym przypadku, Czy powinienem użyć :decimallub :float? Często natrafiam na ten link, ActiveRecord:: dziesiętny vs: zmiennoprzecinkowy? , ale odpowiedzi nie są wystarczająco jasne, aby mieć pewność: Widziałem wiele wątków, w których ludzie zalecają płaskie, aby …

7
ActiveModel :: ForbiddenAttributesError podczas tworzenia nowego użytkownika
Mam ten model w Ruby, ale rzuca 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, :in …

15
Jak wyrazić zapytanie NOT IN za pomocą ActiveRecord / Rails?
Po prostu zaktualizuj to, ponieważ wydaje się, że wiele osób przychodzi do tego, jeśli używasz Rails 4, spójrz na odpowiedzi Trung Lê` i VinniVidiVicci. Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) Mam nadzieję, że istnieje proste rozwiązanie, które nie wymaga find_by_sql, jeśli nie, to chyba będzie musiało zadziałać. Znalazłem ten artykuł, który odwołuje się do …

6
ActiveRecord: rozmiar vs liczba
W Railsach możesz znaleźć liczbę rekordów używając zarówno Model.sizei Model.count. Jeśli masz do czynienia z bardziej złożonymi zapytaniami, czy jest jakaś korzyść z używania jednej metody nad drugą? Czym się różnią? Na przykład mam użytkowników ze zdjęciami. Jeśli chcę wyświetlić tabelę użytkowników i liczbę ich zdjęć, czy uruchomienie wielu wystąpień …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.