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

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

4
Можете ли вы сделать что-то большее, чем сравнение даты в поиске Rails 3?
У меня есть такой поиск в Rails 3: Note.where(:user_id => current_user.id, :notetype => p[:note_type], :date => p[:date]).order('date ASC, created_at ASC') Но мне нужно, чтобы :date => p[:date]условие было эквивалентным :date > p[:date]. Как я могу это сделать? Спасибо за прочтение.

6
Указание имени столбца в переносе «ссылок»
Я хочу создать migrationв Rails ссылку на другую таблицу. Обычно я делал что-то вроде: add_column :post, :user, :references Это создает столбец с именем user_idв postsтаблице. Но что, если вместо этого user_idя хочу что-то вроде author_id? Как я могу это сделать?


3
ActiveRecord, has_many: through и полиморфные ассоциации
Folks, Хочу убедиться, что я правильно это понимаю. И, пожалуйста, не обращайте внимания на наследование здесь (SentientBeing), пытаясь вместо этого сосредоточиться на полиморфных моделях в has_many: через отношения. Тем не менее, рассмотрите следующее ... class Widget < ActiveRecord::Base has_many :widget_groupings has_many :people, :through => :widget_groupings, :source => :person, :conditions => …

11
Как я могу увидеть SQL, который будет сгенерирован заданным запросом ActiveRecord в Ruby on Rails
Я хотел бы увидеть инструкцию SQL, которую сгенерирует данный запрос ActiveRecord. Я понимаю, что могу получить эту информацию из журнала после того, как запрос был выпущен, но мне интересно, есть ли метод, который можно вызвать, и запрос ActiveRecord. Например: SampleModel.find(:all, :select => "DISTINCT(*)", :conditions => ["`date` > #{self.date}"], :limit => …

3
Как сделать LIKE-запрос в Arel и Rails?
Я хочу сделать что-то вроде: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; Моя попытка в Ареле: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql Однако это становится: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Арел правильно оборачивает строку запроса «Смит», но поскольку это оператор LIKE, он не работает. …


3
Как преобразовать результаты ActiveRecord в массив хешей
У меня есть результат операции поиска ActiveRecord: tasks_records = TaskStoreStatus.find( :all, :select => "task_id, store_name, store_region", :conditions => ["task_status = ? and store_id = ?", "f", store_id] ) Теперь я хочу преобразовать эти результаты в массив таких хэшей: [0] -> { :task_d => 10, :store_name=> "Koramanagala", :store_region=> "India" } [1] …



4
Rails - проверка наличия ассоциации?
У меня есть модель A, которая имеет ассоциацию has_many с другой моделью B. У меня есть бизнес-требование, согласно которому для вставки в A требуется по крайней мере 1 связанная запись с B. Есть ли метод, который я могу вызвать, чтобы убедиться, что это правда, или мне нужно написать специальную проверку?

5
Преобразование массива объектов в ActiveRecord :: Relation
У меня есть массив объектов, назовем его Indicator. Я хочу запустить def self.subjectsв этом массиве методы класса индикаторов (различных видов , областей действия и т. Д.). Единственный известный мне способ запустить методы класса для группы объектов - сделать их ActiveRecord :: Relation. Поэтому я прибегаю к добавлению to_indicatorsметода в Array. …


4
Полиморфная загрузка
Что не так с этим кодом при использовании Rails 3.2? @reviews = @user.reviews.includes(:user, :reviewable) .where('reviewable_type = ? AND reviewable.shop_type = ?', 'Shop', 'cafe') Это вызывает эту ошибку: Не могу сразу загрузить полиморфную ассоциацию: доступен для просмотра Если я уберу reviewable.shop_type = ?условие, оно сработает. Как я могу фильтровать по reviewable_typeи …

14
Почему все Active Record ненавидят? [закрыто]
В его нынешнем виде этот вопрос не подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, повлечет за собой дебаты, аргументы, опросы или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и, возможно, снова открыть, …

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