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

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


9
Як повернути порожнє відношення ActiveRecord?
Якщо у мене є область з лямбда, і він бере аргумент, залежно від значення аргументу, я можу знати, що збігів не буде, але я все одно хочу повернути відношення, а не порожній масив: scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] } Мені дуже хочеться …

11
Рейки: виберіть унікальні значення зі стовпця
У мене вже є робоче рішення, але мені дуже хочеться знати, чому це не працює: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } Він вибирає, але не друкує унікальні значення, він друкує всі значення, включаючи дублікати. І це в документації: http://guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

6
Чи надають рейкові завдання граблі доступ до моделей ActiveRecord?
Я намагаюся створити спеціальне завдання граблі, але, здається, у мене немає доступу до моїх моделей. Я думав, що це щось неявно включено в завдання рейки. У lib / task / test.rake у мене є такий код: namespace :test do task :new_task do puts Parent.all.inspect end end І ось як виглядає …


19
Нечутливий до випадку пошук у моделі Rails
Моя модель продукту містить деякі елементи Product.first => #<Product id: 10, name: "Blue jeans" > Зараз я імпортую деякі параметри продукту з іншого набору даних, але в написанні назв є невідповідності. Наприклад, в іншому наборі даних Blue jeansможе бути написано Blue Jeans. Я хотів Product.find_or_create_by_name("Blue Jeans"), але це створить новий …

6
Що викликає помилку ActiveRecord :: ReadOnlyRecord?
З цього випливає це попереднє запитання, на яке було дано відповідь. Я фактично виявив, що можу видалити з'єднання з цього запиту, тому тепер робочий запит є start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] Це, здається, працює. Однак, коли я …

5
Rails find_or_create_by більше ніж один атрибут?
У активному записі є зручний динамічний атрибут під назвою find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") Але що робити, якщо мені потрібно знайти_or_create більш ніж одним атрибутом? Скажіть, у мене є модель, яка могла б підтримувати відносини M: M між Групою та Учасником під назвою GroupMember. У мене може бути багато випадків, коли …


4
delete_all vs kill_all?
Я шукаю найкращий підхід для видалення записів із таблиці. Наприклад, у мене є користувач, чий ідентифікатор користувача знаходиться в багатьох таблицях. Я хочу видалити цього користувача та кожну запис, який має його ідентифікатор у всіх таблицях. u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all u.sources.destroy_all u.user_stats.destroy_all u.delete Це працює і видаляє всі посилання користувача …

3
Перевірте унікальність декількох стовпців
Чи існує спосіб рельсової перевірки того, що фактичний запис унікальний, а не лише стовпець? Наприклад, модель / таблиця дружби не повинна мати декілька однакових записів, таких як: user_id: 10 | friend_id: 20 user_id: 10 | friend_id: 20


10
Міграція рейків 3: Додавання стовпця-опорного стовпчика?
Якщо я створять нову міграцію рейки 3 (наприклад) rails g migration tester title:tester user:references , все працює добре ... однак якщо додати стовпчик із чимось у рядках: rails g migration add_user_to_tester user:references опорне поле не розпізнається. Коротше кажучи, питання: як я можу додати референтний стовпчик до міграції рейок з командного …


4
Перевизначення методів атрибутів ActiveRecord
Приклад того, про що я говорю: class Person < ActiveRecord::Base def name=(name) super(name.capitalize) end def name super().downcase # not sure why you'd do this; this is just an example end end Це, здається, працює, але я щойно прочитав розділ про переважаючі методи атрибутів у документах ActiveRecord :: Base , і …

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