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

Реализация объектно-реляционного отображения (ORM) с использованием шаблона Active Record в среде Ruby on Rails.

26
Как я могу установить значения по умолчанию в ActiveRecord?
Как я могу установить значение по умолчанию в ActiveRecord? Я вижу сообщение от Пратика, которое описывает уродливый, сложный кусок кода: 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
Какой самый простой способ дублировать запись активной записи?
Я хочу сделать копию записи активной записи, меняя одно поле в процессе (в дополнение к идентификатору ). Какой самый простой способ сделать это? Я понимаю, что могу создать новую запись, а затем перебрать каждое из полей, копируя данные поле за полем - но я подумал, что должен быть более простой …

5
Как вы пишете миграцию для переименования модели ActiveRecord и ее таблицы в Rails?
Я ужасно разбираюсь в названиях и понимаю, что в моем приложении Rails есть лучший набор имен для моих моделей. Есть ли способ использовать миграцию для переименования модели и соответствующей ей таблицы?


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
Используя стиль rails 3, я бы написал противоположность: Foo.includes(:bar).where(:bars=>{:id=>nil}) Я хочу найти, где идентификатор не ноль. Я старался: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Но это возвращает: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Это определенно не то, что мне нужно, и почти похоже на ошибку в ARel.

8
Rails: включить против: соединения
Это скорее вопрос «почему все работает так», а не вопрос «я не знаю, как это сделать» ... Таким образом, Евангелие при извлечении связанных записей, которое, как вы знаете, вы собираетесь использовать, заключается в том, чтобы использовать его, :includeпотому что вы получите соединение и избежите целого ряда дополнительных запросов: Post.all(:include => …

3
Как удалить объект ActiveRecord?
Как удалить объект ActiveRecord? Я посмотрел на Active Record Querying, и у меня нет ничего при удалении, что я вижу. Удалить id, Удалить текущий объект как: user.remove, Вы можете удалить, основываясь на whereпредложении?

7
Добавьте ссылочную миграцию столбцов в Rails 4
У пользователя много загрузок. Я хочу добавить столбец в uploadsтаблицу, которая ссылается на user. Как должна выглядеть миграция? Вот что у меня есть. Я не уверен, должен ли я использовать (1) :user_id, :intили (2) :user, :references. Я даже не уверен, работает ли (2). Просто пытаюсь сделать это "рельсовым" способом. class …

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

3
Число с плавающей запятой и десятичное в 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 …

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.