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

Реалізація об'єктно-реляційного відображення (ORM) за допомогою шаблону Active Record в рамках Ruby on Rails.

26
Як я можу встановити значення за замовчуванням у ActiveRecord?
Як я можу встановити значення за замовчуванням у ActiveRecord? Я бачу допис від Pratik, який описує потворний, складний фрагмент коду: http://m.onkey.org/2007/7/24/how-to-set-default-values-in-your-model class Item < ActiveRecord::Base def initialize_with_defaults(attrs = nil, &block) initialize_without_defaults(attrs) do setter = lambda { |key, value| self.send("#{key.to_s}=", value) unless !attrs.nil? && attrs.keys.map(&:to_s).include?(key.to_s) } setter.call('scheduler_type', 'hotseat') yield self if …

11
Який найпростіший спосіб дублювання запису activerecord?
Я хочу зробити копію активного запису запису, змінивши єдине поле в процесі (крім ідентифікатора ). Який найпростіший спосіб досягти цього? Я усвідомлюю, що можу створити нову запис, а потім перегляньте кожне з полів, що копіюють дані по кожному полю - але я зрозумів, що для цього повинен бути простіший спосіб …



5
Як отримати ім’я класу Ruby?
Як я можу отримати ім'я класу від об'єкта ActiveRecord? Я маю: result = User.find(1) Я намагався: result.class # => User(id: integer, name: string ...) result.to_s # => #<User:0x3d07cdc>" Мені потрібно лише ім'я класу в рядку ( Userв даному випадку). Чи існує метод для цього? Я знаю, що це досить просто, …

4
Rails update_attributes без збереження?
Чи існує альтернатива update_attributes, яка не зберігає запис? Тож я міг би зробити щось на кшталт: @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save До речі, я знаю, що можу @car.model = 'Sierra', …

5
Рейки, в яких умова, використовуючи NOT NIL
Використовуючи стиль рейки 3, як би я написав протилежне: Foo.includes(:bar).where(:bars=>{:id=>nil}) Я хочу знайти, де id НЕ нульовий. Я намагався: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Але це повертається: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Це точно не те, що мені потрібно, і майже здається, що помилка в ARel.

8
Рейки: включати vs.: приєднується
Це скоріше питання "чому все працює таким чином", а не питання "я не знаю, як це зробити" ... Тож євангелію про витягнення пов’язаних записів, які ви знаєте, що збираєтесь використовувати, це використовувати, :includeтому що ви отримаєте приєднання та уникнете цілого ряду зайвих запитів: Post.all(:include => :comments) Однак, дивлячись на журнали, …

3
Як видалити об’єкт ActiveRecord?
Як видалити об’єкт ActiveRecord? Я переглянув запит активного запису, і він не має нічого про видалення, що я бачу. Видалити id, Видалити поточний об'єкт як: user.remove, Чи можна видалити на основі whereпункту?

7
Додайте міграцію еталонних стовпців у Rails 4
Користувач має багато завантажень. Я хочу додати стовпчик до uploadsтаблиці, на який посилається user. Як повинна виглядати міграція? Ось що я маю. Я не впевнений, чи варто використовувати (1) :user_id, :intабо (2) :user, :references. Я навіть не впевнений, чи працює (2). Просто намагаюся зробити це «рейки» способом. class AddUserToUploads < …

8
Ruby on Rails генерує модельне поле: type - які варіанти для поля: type?
Я намагаюся генерувати нову модель і забуваю синтаксис для посилання на ідентифікатор іншої моделі. Я би сам роздивився це, але серед усіх своїх посилань на документацію Ruby on Rails я не зрозумів, як знайти остаточне джерело. $ rails g model Item name:string description:text(і тут або reference:productабо references:product). Але краще питання …

3
Float vs Decimal в ActiveRecord
Іноді типи даних Activerecord мене бентежать. Помилка, часто. Одне з моїх вічних питань - для даного випадку, Чи варто використовувати :decimalабо :float? Я часто стикався з цим посиланням, ActiveRecord:: decimal vs: float? , але відповіді не досить чіткі, щоб я був певним: Я бачив багато ниток, де люди рекомендують виводити …

7
ActiveModel :: ForbiddenAttributesError при створенні нового користувача
У мене є модель в Ruby, але вона кидає ActiveModel::ForbiddenAttributesError class User < ActiveRecord::Base attr_accessor :password validates :username, :presence => true, :uniqueness => true, :length => {:in => 3..20} VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i validates :email, presence: true, :uniqueness => true, format: { with: VALID_EMAIL_REGEX } validates :password, :confirmation => true validates_length_of …

15
Як висловити запит NOT IN за допомогою ActiveRecord / Rails?
Просто для оновлення, оскільки, здається, багато людей приходять до цього, якщо ви використовуєте Rails 4, подивіться на відповіді Trung Lê` і VinniVidiVicci. Topic.where.not(forum_id:@forums.map(&:id)) Topic.where(published:true).where.not(forum_id:@forums.map(&:id)) Я сподіваюся, що існує просте рішення, яке не передбачає find_by_sql, якщо ні, то я думаю, що доведеться попрацювати. Я знайшов цю статтю, в якій посилається на …

6
ActiveRecord: розмір проти підрахунку
У Rails можна знайти кількість записів, використовуючи і Model.sizeі, і Model.count. Якщо ви маєте справу зі складнішими запитами, чи є якась перевага використання одного методу над іншим? Чим вони відрізняються? Наприклад, у мене є користувачі з фотографіями. Якщо я хочу показати таблицю користувачів і скільки фотографій у них, чи буде …

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