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.

1
W jaki sposób Railsy śledzą, które migracje zostały uruchomione dla bazy danych?
Według dokumentu Rails: http://guides.rubyonrails.org/migrations.html „Moduł Active Record śledzi, które migracje zostały już uruchomione, więc wszystko, co musisz zrobić, to zaktualizować źródło i uruchomić rake db: migrate”. Jak właściwie to robi ActiveRecord? Gdzie Active Record przechowuje dane? Podejrzewam, że to może być zapisane w samej bazie danych? Gdzieś w stole. Na …




7
Sprawdź, czy istnieje rekord z kontrolera w Railsach
W mojej aplikacji Użytkownik może założyć Firmę. Kiedy wyzwalają indexakcję w moim BusinessesControllerChcę sprawdzić, czy Firma jest związana z current_user.id: Jeśli tak: wyświetl firmę. Jeśli nie: przekieruj do newakcji. Próbowałem tego użyć: if Business.where(:user_id => current_user.id) == nil # no business found end Ale zawsze zwraca prawdę, nawet jeśli firma …

13
Unia zapytań ActiveRecord
Napisałem kilka złożonych zapytań (przynajmniej do mnie) za pomocą interfejsu zapytań Ruby on Rail: watched_news_posts = Post.joins(:news => :watched).where(:watched => {:user_id => id}) watched_topic_posts = Post.joins(:post_topic_relationships => {:topic => :watched}).where(:watched => {:user_id => id}) Oba te zapytania działają dobrze samodzielnie. Oba zwracają obiekty Post. Chciałbym połączyć te posty w jedną …


8
LEFT OUTER łączy w Rails 3
Mam następujący kod: @posts = Post.joins(:user).joins(:blog).select co ma na celu znalezienie wszystkich postów i zwrócenie ich oraz powiązanych użytkowników i blogów. Jednak użytkownicy są opcjonalni, co oznacza, że ​​to, INNER JOINco :joinsgeneruje, nie zwraca wielu rekordów. Jak użyć tego do wygenerowania LEFT OUTER JOINzamiast tego?

4
Czym dokładnie jest Arel w Railsach 3.0?
Rozumiem, że jest to zamiennik dla ActiveRecord i używa obiektów zamiast zapytań. Ale... dlaczego tak jest lepiej czy obiekty / zapytania będą „łatwiejsze” do tworzenia? czy doprowadzi to do wydajniejszych zapytań SQL? czy będzie kompatybilny ze wszystkimi głównymi bazami danych? - Zakładam, że tak. czy korzystanie z procedur przechowywanych będzie …

5
Bezpieczne ActiveRecord, takie jak zapytanie
Próbuję napisać zapytanie LIKE. Czytałem, że wymagania dotyczące czystych ciągów nie są bezpieczne, jednak nie mogłem znaleźć żadnej dokumentacji wyjaśniającej, jak pisać bezpieczne zapytanie LIKE Hash. Czy to możliwe? Czy powinienem ręcznie bronić się przed iniekcją SQL?

5
Wyrażenia regularne z walidacją w RoR 4
Jest następujący kod: class Product < ActiveRecord::Base validates :title, :description, :image_url, presence: true validates :price, numericality: {greater_than_or_equal_to: 0.01} validates :title, uniqueness: true validates :image_url, allow_blank: true, format: { with: %r{\.(gif|jpg|png)$}i, message: 'URL must point to GIT/JPG/PNG pictures' } end Działa, ale kiedy spróbuję go przetestować za pomocą „testu rake”, wyłapię …

10
Szyny: zamówienie z zerami ostatnie
W mojej aplikacji Railsowej kilka razy napotkałem problem, który chciałbym wiedzieć, jak rozwiązują go inni ludzie: Mam pewne rekordy, w których wartość jest opcjonalna, więc niektóre rekordy mają wartość, a niektóre są puste dla tej kolumny. Jeśli uporządkuję według tej kolumny w niektórych bazach danych, wartości null są sortowane jako …

6
Sprawdź, czy płyta została zniszczona w szynach
Więc tam jest record.new_record? Aby sprawdzić, czy coś jest nowe Muszę sprawdzić, czy coś jest w ruchu. record = some_magic record.destroy record.is_destroyed? # => true Coś w tym stylu. Wiem, że zniszczenie zamraża obiekt, tak zamrożony? rodzaj działa, ale czy jest coś bezpośrednio do tego zadania?

9
Używając ActiveRecord, czy istnieje sposób na uzyskanie starych wartości rekordu podczas after_update
Konfiguracja za pomocą prostego przykładu: Mam 1 tabelę ( Totals), która przechowuje sumę amountkolumny każdego rekordu w drugiej tabeli ( Things). Kiedy a thing.amountzostanie zaktualizowany, chciałbym po prostu dodać różnicę między starą wartością a nową wartością do total.sum. W tej chwili odejmuję w self.amounttrakcie before_updatei dodam w self.amounttrakcie after_update. To …

3
Domyślnie użyj zasięgu w relacji has_many w Railsach
Powiedzmy, że mam następujące klasy class SolarSystem < ActiveRecord::Base has_many :planets end class Planet < ActiveRecord::Base scope :life_supporting, where('distance_from_sun > ?', 5).order('diameter ASC') end Planetma zakres life_supportingi SolarSystem has_many :planets. Chciałbym zdefiniować moją relację has_many, aby gdy pytam solar_systemo wszystkie powiązane planets, life_supportingzakres jest stosowany automatycznie. Zasadniczo chciałbym solar_system.planets == …

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.