Вопросы с тегом «activerecord»

Active Record - это шаблон, который объединяет логику предметной области с абстракцией хранилища в одном объекте. Используйте этот тег для вопросов о шаблоне, [rails-activerecord] для вопросов о Rails ORM framework.

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

6
Использование помощников в модели: как включить вспомогательные зависимости?
Я пишу модель, которая обрабатывает ввод данных пользователем из текстовой области. Следуя совету http://blog.caboo.se/articles/2008/8/25/sanitize-your-users-html-input , я очищаю ввод в модели перед сохранением в базу данных, используя before_validate Перезвони. Соответствующие части моей модели выглядят так: 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 вакансия. Я пробовал примерно так: …

8
Как выполнить необработанное обновление sql с динамической привязкой в ​​рельсах
Я хочу выполнить одно обновление raw sql, как показано ниже: update table set f1=? where f2=? and f3=? Этот SQL будет выполняться ActiveRecord::Base.connection.execute, но я не знаю, как передать значения динамических параметров в метод. Может ли кто-нибудь помочь мне в этом?

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
Как получить исходное значение атрибута в Rails
есть ли способ получить исходное значение атрибута ActiveRecord (= значение, которое было загружено из базы данных)? Я хочу что-то подобное в наблюдателе before_save object do_something_with object.original_name end Задача - удалить объект из хеш-таблицы (фактически переместить его на другой ключ в таблице) при обновлении.

8
Как определить, была ли запись только что создана или обновлена ​​в after_save
#New_record? функция определяет, была ли сохранена запись. Но на after_saveкрючке всегда ложно . Есть ли способ определить, является ли запись новой записью или старой после обновления? Я надеюсь не использовать другой обратный вызов, например, before_createчтобы установить флаг в модели или потребовать другой запрос в базу данных. Любой совет приветствуется. Edit: …

5
Rails фильтрует массив объектов по значению атрибута
Итак, я выполняю запрос к базе данных, и у меня есть полный массив объектов: @attachments = Job.find(1).attachments Теперь, когда у меня есть массив объектов, я не хочу выполнять другой запрос к базе данных, но я хотел бы отфильтровать массив на основе Attachmentобъекта, file_typeчтобы у меня был список того, attachmentsгде находится …

8
find () с nil, когда нет записей
В моей текущей программе rails, когда я использую что-то вроде user = User.find(10) Когда нет пользователя с ID = 10, у меня будет исключение, например: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 Могу ли я получить nil вместо того, чтобы вызывать исключение, когда я делаю что-то вроде: unless user = Challenge.find(10) …

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

1
Как реализовать уникальный индекс для двух столбцов в рельсах
У меня есть таблица, и я пытаюсь добавить уникальный индекс по двум столбцам. Эти столбцы также индексируются. Итак, мой вопрос в том, могу ли я просто удалить индексы, которые были только для одного столбца, или мне нужно использовать все три индекса: add_index "subscriptions", ["user_id"] add_index "subscriptions", ["content_id"] add_index "subscriptions", ["user_id"], …

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: …

7
Rails создает или обновляет магию?
У меня есть класс, в CachedObjectкотором хранятся общие сериализованные объекты, индексированные по ключу. Я хочу, чтобы этот класс реализовал create_or_updateметод. Если объект найден, он обновит его, в противном случае он создаст новый. Есть ли способ сделать это в Rails или мне нужно написать свой собственный метод?

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.