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.
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: …
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 …
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 …
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: …
Chcę wykonać jedną aktualizację surowego sql, jak poniżej: update table set f1=? where f2=? and f3=? Ten kod SQL zostanie wykonany przez ActiveRecord::Base.connection.execute, ale nie wiem, jak przekazać wartości parametrów dynamicznych do metody. Czy ktoś mógłby mi w tym pomóc?
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 …
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
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.
#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 …
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' …
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 …
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 => …
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: …
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ę?
Railsy wprowadziły nowy sposób sprawdzania poprawności atrybutów w modelu. Kiedy używam validates :title, :presence => true działa, ale kiedy próbuję dodać własną wiadomość validates :title, :presence => true,:message => "Story title is required" generowany jest błąd Unknown validator: 'message'
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.