Запитання з тегом «activerecord»

Active Record - це шаблон, який поєднує логіку домену з абстракцією пам’яті в одному об’єкті. Використовуйте цей тег для запитань щодо шаблону, [rails-activerecord] для запитань про рамки Rails ORM.

7
Рейки створюють або оновлюють магію?
У мене є клас, що називається CachedObjectзагальними серіалізованими об’єктами, проіндексованими ключем. Я хочу, щоб цей клас реалізував create_or_updateметод. Якщо об’єкт знайдений, він оновить його, інакше створить новий. Чи є спосіб зробити це в Rails, чи я повинен написати свій власний метод?

6
Збереження кількох об’єктів за один виклик у рейках
У мене є метод в rails, який робить щось подібне: a = Foo.new("bar") a.save b = Foo.new("baz") b.save ... x = Foo.new("123", :parent_id => a.id) x.save ... z = Foo.new("zxy", :parent_id => b.id) z.save Проблема в тому, що це займає більше часу, чим більше сутностей я додаю. Я підозрюю, що …

5
Як увімкнути ведення журналу налагодження SQL для ActiveRecord у тестах RSpec?
У мене є кілька тестів RSpec для моїх моделей, і я хотів би ввімкнути ведення журналу SQL ActiveRecord так, як я бачу в режимі сервера Rails. Як це зробити? Я починаю свої тести з RAILS_ENV=test bundle exec rspec my/test_spec.rb Дякую

5
Як я можу дізнатись у рейках, що спричинило помилку .save (), крім помилок перевірки?
У мене є модель ActiveRecord, яка повертається trueз valid?(а .errors порожня), але повертається falseз save(). Якщо екземпляр моделі є дійсним, як я можу дізнатися, що спричиняє помилку збереження?

7
Перевірте, чи існує запис від контролера в Rails
У моєму додатку Користувач може створити бізнес. Коли вони ініціюють indexдію в моєму, BusinessesControllerя хочу перевірити, чи пов’язаний бізнес із current_user.id: Якщо так: покажіть бізнес. Якщо ні: перенаправити на newдію. Я намагався використати це: if Business.where(:user_id => current_user.id) == nil # no business found end Але це завжди повертається, навіть …

13
Союз запитів ActiveRecord
Я написав кілька складних запитів (принаймні для мене) за допомогою інтерфейсу запитів 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}) Обидва ці запити працюють самі по собі. Обидва повертають об'єкти Post. Я хотів би об’єднати …


8
LEFT OUTER приєднується до Rails 3
У мене є такий код: @posts = Post.joins(:user).joins(:blog).select який призначений для пошуку всіх повідомлень та повернення їх, а також пов’язаних користувачів та блогів. Однак користувачі необов’язкові, що означає, INNER JOINщо :joinsгенерує не повертає багато записів. Як я можу використовувати це для створення LEFT OUTER JOINзамість цього?

4
Що таке Arel in Rails 3.0?
Я розумію, що це заміна ActiveRecord і що вона використовує об’єкти замість запитів. Але ... чому це краще? чи буде "простіше" створювати об'єкти / запити? чи це призведе до більш ефективних запитів SQL? чи буде він сумісним з усіма основними БД? - Я припускаю, що буде. це буде простіше / …

5
Безпечний ActiveRecord, як запит
Я намагаюся написати запит LIKE. Я прочитав, що чисті рядкові запити не є безпечними, проте я не міг знайти жодної документації, яка б пояснила, як правильно писати безпечний LIKE Hash Query. Це можливо? Чи слід мені захищатись вручну від SQL Injection?

5
Регулярні вирази з підтвердженнями в RoR 4
Існує такий код: 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 Це працює, але коли я спробую протестувати його за допомогою "тесту …

10
Rails: Замовлення з нулями останнє
У моєму додатку Rails я кілька разів стикався з проблемою, яку я хотів би знати, як вирішують інші люди: У мене є певні записи, де значення є необов’язковим, тому деякі записи мають значення, а деякі є нульовими для цього стовпця. Якщо я впорядкую за цим стовпцем у деяких базах даних, …

6
Перевірте, чи запис просто не був знищений у рейках
Отже є record.new_record? Щоб перевірити, чи щось нове Мені потрібно перевірити, чи щось на цьому виходить. record = some_magic record.destroy record.is_destroyed? # => true Щось таке. Я знаю, що знищення заморожує об'єкт, такий заморожений? працює, але чи є щось явне для цього завдання?

9
Використовуючи ActiveRecord, чи є спосіб отримати старі значення запису під час after_update
Налаштування на простому прикладі: у мене є 1 таблиця ( Totals), яка містить суму amountстовпця кожного запису у другій таблиці ( Things). Коли a thing.amountоновлюється, я хотів би просто додати різницю між старим і новим значенням total.sum. Зараз я віднімаю self.amountпід час before_updateі додаю self.amountпід час after_update. Це занадто багато …

3
Використовуйте область за замовчуванням для відносин Rails has_many
Скажімо, у мене є такі класи class SolarSystem < ActiveRecord::Base has_many :planets end class Planet < ActiveRecord::Base scope :life_supporting, where('distance_from_sun > ?', 5).order('diameter ASC') end Planetмає сферу застосування life_supportingі SolarSystem has_many :planets. Я хотів би визначити моє відношення has_many так, щоб, коли я запитую а solar_systemдля всіх пов’язаних planets, life_supportingобласть …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.