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

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

5
Знайдіть рядки з декількома повторюваними полями з Active Record, Rails & Postgres
Який найкращий спосіб знайти записи з повторюваними значеннями в кількох стовпцях за допомогою Postgres та Activerecord? Я знайшов це рішення тут : User.find(:all, :group => [:first, :email], :having => "count(*) > 1" ) Але це, здається, не працює з постгресами. Я отримую цю помилку: PG :: GroupingError: ПОМИЛКА: стовпець "parts.id" …

6
Використання помічників у моделі: як я включаю допоміжні залежності?
Я пишу модель, яка обробляє введення користувача з текстової області. Виконуючи поради http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , я очищаю вхід в моделі перед збереженням у базі даних, використовуючи попередній_валіdate зворотний дзвінок Відповідні частини моєї моделі виглядають так: include ActionView::Helpers::SanitizeHelper class Post < ActiveRecord::Base { before_validation :clean_input ... protected def clean_input self.input = sanitize(self.input, …

13
ActiveRecord.find (array_of_ids), зберігаючи порядок
Коли ви робите Something.find(array_of_ids)в Rails, порядок отриманого масиву не залежить від порядку array_of_ids. Чи є спосіб зробити пошук і зберегти порядок? Банкомат Я вручну сортую записи на підставі порядку ідентифікаторів, але це - кульга. UPD: якщо можна вказати порядок, використовуючи :orderпарам і якийсь пункт SQL, то як?

10
Знайдіть усі записи, у яких кількість зв’язків більша за нуль
Я намагаюся зробити щось, що я думав, що це буде просто, але, здається, це не так. У мене є модель проекту, яка має багато вакансій. class Project < ActiveRecord::Base has_many :vacancies, :dependent => :destroy end Я хочу отримати всі проекти, які мають принаймні 1 вакансію. Я спробував щось подібне: Project.joins(:vacancies).where('count(vacancies) …

8
Як виконати необроблене оновлення sql з динамічним прив'язуванням у рейках
Я хочу виконати одне оновлення raw sql, як показано нижче: update table set f1=? where f2=? and f3=? Цей SQL буде виконаний ActiveRecord::Base.connection.execute, але я не знаю, як передавати динамічні значення параметрів у метод. Хтось міг би мені надати допомогу?

4
Як отримати початкове значення атрибута в Rails
чи є спосіб отримати вихідне значення атрибута ActiveRecord (= значення, завантажене з бази даних)? Я хочу щось подібне у спостерігача before_save object do_something_with object.original_name end Завдання - видалити об’єкт з хеш-таблиці (насправді, перемістити його до іншого ключа в таблиці) після оновлення.

5
Рейки, що фільтрують масив об’єктів за значенням атрибута
Тому я виконую запит до бази даних і маю повний масив об’єктів: @attachments = Job.find(1).attachments Тепер, коли у мене є масив об'єктів, я не хочу виконувати інший запит db, але я хотів би відфільтрувати масив на основі Attachmentоб'єкта, file_typeщоб я міг отримати список, attachmentsде знаходиться тип файлу, 'logo'а потім ще …

4
Як реалізувати has_many: через відносини з Mongoid та mongodb?
Використовуючи цей модифікований приклад із довідників Rails , як можна моделювати реляційну асоціацію "has_many: through", використовуючи mongoid? Проблема полягає в тому, що mongoid не підтримує has_many: як це робить ActiveRecord. # doctor checking out patient class Physician < ActiveRecord::Base has_many :appointments has_many :patients, :through => :appointments has_many :meeting_notes, :through => …

8
Як визначити, чи запис просто створений чи оновлений у програмі after_save
# Новий_запис? функція визначає, чи збережено запис. Але це завжди хибно в after_saveгачку. Чи можна визначити, чи є запис нещодавно створеним чи старим з оновлення? Я сподіваюсь не використовувати інший зворотний виклик, наприклад, before_createвстановити прапор у моделі або вимагати іншого запиту в db. Будь-яка порада буде вдячна. Редагувати: Потрібно визначити …

2
Попередження про припинення використання при використанні has_many: through: uniq у Rails 4
Rails 4 запровадив попередження про припинення використання при використанні: uniq => true з has_many: through. Наприклад: has_many :donors, :through => :donations, :uniq => true Дає таке попередження: 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: …

8
find () з нулем, коли немає записів
У моїй поточній програмі rails, коли я використовую щось на зразок user = User.find(10) Коли немає користувача з ID = 10, у мене буде виняток, як: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 Чи можу я отримати нуль замість того, щоб викликати виняток, тому, коли я роблю щось на зразок: unless …

1
Як реалізувати унікальний індекс на двох стовпцях у рейках
У мене є таблиця, і я намагаюся додати унікальний індекс у два стовпці. Ці стовпці також індексуються. Отже, моє питання полягає в тому, чи можу я просто видалити індекси, призначені лише для одного стовпця, чи мені потрібно використовувати всі три індекси: add_index "subscriptions", ["user_id"] add_index "subscriptions", ["content_id"] add_index "subscriptions", ["user_id"], …

3
як додати записи до has_many: через об'єднання в рейки
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 Як додати до Agentsмоделі для Customer? Це найкращий спосіб? Customer.find(1).agents.create(customer_id: 1, house_id: 1) Вище працює чудово з консолі, однак, …

4
спеціальне повідомлення перевірки для рейок 3
Rails представив новий спосіб перевірки атрибутів всередині моделі. Коли я користуюся validates :title, :presence => true це працює, але коли я намагаюся додати власне повідомлення validates :title, :presence => true,:message => "Story title is required" генерується помилка Unknown validator: 'message'

1
Як Rails відстежує, які міграції виконуються для бази даних?
За даними довідки Rails: http://guides.rubyonrails.org/migrations.html "Активні записи треків, міграції яких уже виконані, тому все, що вам потрібно зробити, - оновити джерело та запустити rake db: migrate." Як насправді це робить ActiveRecord? Де зберігає дані Active Record? Я підозрюю, що це може зберігатися в самій базі даних? У таблиці десь. На …

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