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 …
Chcę zrobić kopię rekordu activerecord, zmieniając pojedyncze pole w tym procesie (oprócz id ). Jaki jest najprostszy sposób na osiągnięcie tego? Zdaję sobie sprawę, że mogę utworzyć nowy rekord, a następnie wykonać iterację po każdym polu kopiującym dane pole po polu - ale pomyślałem, że musi istnieć łatwiejszy sposób na …
Okropnie nazywam się i zdaję sobie sprawę, że w mojej aplikacji Rails jest lepszy zestaw nazw dla moich modeli. Czy istnieje sposób użycia migracji do zmiany nazwy modelu i odpowiadającej mu tabeli?
Gdzie mogę znaleźć listę typów danych, których można użyć w Ruby on Rails 4? Jak na przykład text string integer float date Ciągle uczę się o nowych i chciałbym mieć listę, do której mógłbym łatwo się odnieść.
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 …
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 …
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.
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, …
Jak usunąć obiekt ActiveRecord? Spojrzałem na Active Record Querying i nie ma nic do usunięcia, co widzę. Usuń przez id, Usuń bieżący obiekt jak: user.remove, Czy możesz usunąć na podstawie whereklauzuli?
Użytkownik ma wiele przesłanych plików. Chcę dodać kolumnę do uploadstabeli, która odwołuje się do user. Jak powinna wyglądać migracja? Oto co mam. Nie jestem pewien, czy powinienem użyć (1) :user_id, :intczy (2) :user, :references. Nie jestem nawet pewien, czy (2) działa. Próbuję to zrobić po prostu „szynami”. class AddUserToUploads < …
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 …
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 …
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 …
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ń …
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.