Pytania otagowane jako activerecord

Active Record to wzorzec, który łączy logikę domeny z abstrakcją pamięci w jednym obiekcie. Użyj tego znacznika w przypadku pytań dotyczących wzorca, [rails-activerecord] w przypadku pytań dotyczących frameworka ORM Rails.

5
Znajdź wiersze z wieloma zduplikowanymi polami za pomocą Active Record, Rails i Postgres
Jaki jest najlepszy sposób na znalezienie rekordów ze zduplikowanymi wartościami w wielu kolumnach przy użyciu Postgres i Activerecord? Znalazłem to rozwiązanie tutaj : User.find(:all, :group => [:first, :email], :having => "count(*) > 1" ) Ale wygląda na to, że nie działa z postgresami. Otrzymuję ten błąd: PG :: GroupingError: ERROR: …

6
Korzystanie z pomocników w modelu: jak uwzględnić zależności pomocników?
Piszę model, który obsługuje dane wejściowe użytkownika z obszaru tekstowego. Zgodnie z radą z http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , czyszczę dane wejściowe w modelu przed zapisaniem do bazy danych, używając metody before_validate oddzwonić. Odpowiednie części mojego modelu wyglądają następująco: include ActionView::Helpers::SanitizeHelper class Post < ActiveRecord::Base { before_validation :clean_input ... protected def clean_input self.input …

13
ActiveRecord.find (array_of_ids), zachowując kolejność
Kiedy robisz to Something.find(array_of_ids)w Railsach, kolejność wynikowej tablicy nie zależy od kolejności array_of_ids. Czy jest jakiś sposób, aby znaleźć i zachować zamówienie? Bankomat I ręcznie sortuję rekordy według kolejności identyfikatorów, ale to trochę kiepskie. UPD: jeśli możliwe jest określenie kolejności za pomocą :orderparametru i jakiejś klauzuli SQL, to w jaki …

10
Znajdź wszystkie rekordy, których liczba asocjacji jest większa niż zero
Próbuję zrobić coś, co wydawało mi się proste, ale wydaje się, że tak nie jest. Mam model projektu z wieloma wakatami. class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end Chcę otrzymać wszystkie projekty, które mają co najmniej 1 wakat. Próbowałem czegoś takiego: Project.joins(:vacancies).where('count(vacancies) > 0') ale mówi SQLite3::SQLException: …


3
jak dodawać rekordy do has_many: poprzez asocjacje w szynach
class Agents << ActiveRecord::Base belongs_to :customer belongs_to :house end class Customer << ActiveRecord::Base has_many :agents has_many :houses, through: :agents end class House << ActiveRecord::Base has_many :agents has_many :customers, through: :agents end Jak dodać do Agentsmodelu Customer? Czy to najlepszy sposób? Customer.find(1).agents.create(customer_id: 1, house_id: 1) Powyższe działa dobrze z konsoli, jednak …

1
Jak zaimplementować unikalny indeks na dwóch kolumnach w szynach
Mam tabelę i próbuję dodać unikalny indeks do dwóch kolumn. Te kolumny również są indeksowane. Więc moje pytanie brzmi, czy mogę po prostu usunąć indeksy, które były tylko dla jednej kolumny, czy muszę użyć wszystkich trzech indeksów: add_index "subscriptions", ["user_id"] add_index "subscriptions", ["content_id"] add_index "subscriptions", ["user_id"], ["content_id"], :unique => true

4
Jak uzyskać oryginalną wartość atrybutu w Railsach
czy istnieje sposób na uzyskanie oryginalnej wartości atrybutu ActiveRecord (= wartość załadowana z bazy danych)? Chcę czegoś takiego w obserwatorze before_save object do_something_with object.original_name end Zadanie polega na usunięciu obiektu z tablicy skrótów (w rzeczywistości przeniesieniu go do innego klucza w tabeli) po aktualizacji.

8
Jak ustalić, czy rekord został właśnie utworzony czy zaktualizowany w after_save
#New_record? funkcja określa, czy rekord został zapisany. Ale zawsze jest fałszywe wafter_save . Czy istnieje sposób ustalenia, czy rekord jest nowo utworzonym rekordem, czy starym z aktualizacji? Mam nadzieję, że nie użyję innego wywołania zwrotnego, takiego jak before_createustawienie flagi w modelu lub wymaganie innego zapytania do bazy danych. Każda rada …

5
Railsy filtrują tablicę obiektów według wartości atrybutu
Więc wykonuję zapytanie do bazy danych i mam pełną tablicę obiektów: @attachments = Job.find(1).attachments Teraz, gdy mam tablicę obiektów, nie chcę wykonywać kolejnego zapytania db, ale chciałbym przefiltrować tablicę na podstawie Attachmentobiektu, file_typeaby mieć listę miejsc, w attachmentsktórych znajduje się typ pliku, 'logo'a następnie kolejną listę attachmentsmiejsc typ pliku to'image' …

8
find () z nil, gdy nie ma rekordów
W moim obecnym programie railsowym używam czegoś takiego jak user = User.find(10) Gdy nie ma użytkownika o ID = 10, będę miał wyjątek taki jak: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 Czy mogę uzyskać zero zamiast zgłaszać wyjątek, więc kiedy robię coś takiego: unless user = Challenge.find(10) puts "some error …

4
Jak zaimplementować has_many: poprzez relacje z Mongoidem i Mongodb?
Korzystając z tego zmodyfikowanego przykładu z przewodników Railsów , w jaki sposób można modelować relacyjne powiązanie „has_many:” za pomocą „mongoid”? Wyzwanie polega na tym, że mongoid nie obsługuje has_many: through, tak jak robi to ActiveRecord. # doctor checking out patient class Physician < ActiveRecord::Base has_many :appointments has_many :patients, :through => …

2
Ostrzeżenie o wycofaniu podczas używania has_many: through: uniq w Railsach 4
Rails 4 wprowadził ostrzeżenie o wycofaniu podczas używania: uniq => true z has_many: through. Na przykład: has_many :donors, :through => :donations, :uniq => true Daje następujące ostrzeżenie: DEPRECATION WARNING: The following options in your Goal.has_many :donors declaration are deprecated: :uniq. Please use a scope block instead. For example, the following: …

7
Szyny tworzą lub aktualizują magię?
Mam klasę o nazwie, CachedObjectktóra przechowuje ogólne zserializowane obiekty indeksowane według klucza. Chcę, aby ta klasa zaimplementowała create_or_updatemetodę. Jeśli obiekt zostanie znaleziony, zaktualizuje go, w przeciwnym razie utworzy nowy. Czy istnieje sposób na zrobienie tego w Railsach, czy też muszę napisać własną metodę?


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.