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

203
Rails find_or_create_by более одного атрибута?

В active-record есть полезный динамический атрибут с именем find_or_create_by: Model.find_or_create_by_<attribute>(:<attribute> => "") Но что, если мне нужно найти find_or_create более чем одним атрибутом? Скажем, у меня есть модель для обработки отношений M: M между Группой и...

203
Что вызывает эту ошибку ActiveRecord :: ReadOnlyRecord?

Это следует за этим предыдущим вопросом, на который был дан ответ. Я обнаружил, что могу удалить соединение из этого запроса, поэтому теперь рабочий запрос start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id,...

201
ActiveRecord: размер против количества

В Rails вы можете найти количество записей, используя Model.sizeи Model.count. Если вы имеете дело с более сложными запросами, есть ли преимущество в использовании одного метода перед другим? Насколько они разные? Например, у меня есть пользователи с фотографиями. Если я хочу показать таблицу...

193
delete_all vs destroy_all?

Я ищу лучший подход для удаления записей из таблицы. Например, у меня есть пользователь, чей идентификатор во многих таблицах. Я хочу удалить этого пользователя и каждую запись, которая имеет его идентификатор во всех таблицах. u = User.find_by_name('JohnBoy') u.usage_indexes.destroy_all...

193
Проверить уникальность нескольких столбцов

Есть ли способ рельсового способа проверки того, что фактическая запись уникальна, а не только столбец? Например, модель / таблица дружбы не должна иметь несколько одинаковых записей, таких как: user_id: 10 | friend_id: 20 user_id: 10 | friend_id:...

184
Понимание: исходная опция has_one / has_many через Rails

Пожалуйста, помогите мне понять :sourceвариант has_one/has_many :throughобъединения. Объяснение Rails API для меня мало что значит. «Определяет имя источника ассоциации используется has_many :through => :queries. Только использовать его , если имя не может быть выведено из ассоциации. has_many...

174
Проверьте, существует ли таблица в Rails

У меня есть грабли, которые не будут работать, если таблица не существует. Я работаю с более чем 20 инженерами на веб-сайте, поэтому я хочу убедиться, что они перенесли таблицу, прежде чем они смогут выполнить задачу rake, которая заполнит эту соответствующую таблицу. Есть ли у AR такой метод, как...

171
Rails ActiveRecord дата между

Мне нужно запросить комментарии, сделанные за один день. Поле является частью стандартных временных меток, является created_at. Выбранная дата исходит от date_select. Как я могу использовать ActiveRecordэто сделать? Мне нужно что-то вроде: "SELECT * FROM comments WHERE created_at BETWEEN...

166
Rails - вложенные включения в Active Records?

У меня есть список событий, которые я получаю. Я пытаюсь включить каждого пользователя, связанного с этим событием, и каждый профиль, связанный с каждым пользователем. Пользователи включены, но не их профили. Как бы я это сделал Event.includes(:users [{profile:}]) Документы, кажется, не ясны:...

162
Rails 3 миграций: добавление ссылочного столбца?

Если я создаю новый рельс 3 миграции с (например) rails g migration tester title:tester user:references все работает нормально ... однако, если я добавлю столбец с чем-то вроде: rails g migration add_user_to_tester user:references поле ссылки не распознано. Короче говоря, вопрос заключается в...

158
Rails 3 типа данных?

Где я могу найти список типов данных, которые можно использовать в рельсах 3? (например, текст, строка, целое число, число с плавающей точкой, дата и т. д.?) Я постоянно узнаю о новых, но я бы хотел иметь список, к которому можно было бы легко...

151
Случайная запись в ActiveRecord

Мне нужно получить случайную запись из таблицы через ActiveRecord. Я последовал примеру Джемиса Бака из 2006 года . Тем не менее, я также натолкнулся на другой способ поиска в Google (не могу приписать ссылку из-за ограничений нового пользователя): rand_id = rand(Model.count) rand_record =...

150
Переопределить методы атрибута 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 Это похоже на работу, но я только что прочитал раздел переопределение методов атрибутов в документации...