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

179
Переменная экземпляра: self vs @

Вот некоторый код: class Person def initialize(age) @age = age end def age @age end def age_difference_with(other_person) (self.age - other_person.age).abs end protected :age end То, что я хочу знать, это разница между использованием @ageи self.ageв...

179
Как определить, содержит ли один массив все элементы другого массива

Дано: a1 = [5, 1, 6, 14, 2, 8] Я хотел бы определить, содержит ли он все элементы: a2 = [2, 6, 15] В этом случае результат false. Существуют ли какие-либо встроенные методы Ruby / Rails для определения такого включения массива? Один из способов реализовать это: a2.index{ |x| !a1.include?(x) }.nil?...

178
В Ruby on Rails, как мне отформатировать дату с суффиксом th, как в «Sun Oct 5th»?

Я хочу отображать даты в формате: короткий день недели, короткий месяц, день месяца без начального нуля, но с суффиксом «th», «st», «nd» или «rd». Например, день, когда был задан этот вопрос, будет отображать «Чт 2 октября». Я использую Ruby 1.8.7, и Time.strftime , похоже, этого не делает. Я бы...

178
Собственный камень json требует установленных инструментов сборки

Я ruby 1.9.2p180 (2011-02-18) [i386-mingw32]установил на моей машине Windows 7. Теперь я попытался установить гем JSON с помощью команды "gem install json" и получил следующую ошибку. ERROR: Error installing JSON: The 'json' native gem requires installed build tools. Please update your PATH to...

177
Удалить все установленные драгоценные камни, в OSX?

Есть случаи, когда я хотел бы отменить и удалить все предыдущие установки gem. Например, мне нужно было помочь другу перевести свою машину для разработки рельсов на использование RVM. Поскольку они ранее использовали общесистемную систему gem, он испытывал много головной боли при работе с...

177
Как добавить новый элемент в хэш

Я новичок в Ruby и не знаю, как добавить новый элемент в уже существующий хэш. Например, сначала я строю хэш: hash = {item1: 1} после этого хочу добавить item2, так что после этого у меня есть хэш, как это: {item1: 1, item2: 2} Я не знаю, какой метод делать с хэшем, кто-нибудь может мне...

175
Лучшие практики для обработки маршрутов для подклассов STI в рельсах

Мои Рельсы мнение и контроллеры завалены redirect_to, link_toи form_forвызовами методов. Иногда link_toи redirect_toявно в путях, которые они связывают (например,link_to 'New Person', new_person_path ), но много раз пути являются неявными (например link_to 'Show', person). Я добавляю некоторое...

175
Тестирование модулей в rspec

Каковы лучшие практики тестирования модулей в rspec? У меня есть несколько модулей, которые включены в несколько моделей, и сейчас у меня просто есть дублирующие тесты для каждой модели (с небольшими отличиями). Есть ли способ высушить...

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

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

174
Что делает (унарный) оператор * в этом коде Ruby?

Учитывая код Ruby line = "first_name=mickey;last_name=mouse;country=usa" record = Hash[*line.split(/=|;/)] Я все понимаю во второй строке, кроме *оператора - что он делает и где документация для этого? (как вы можете догадаться, поиск этого дела оказывается трудным...

172
Невозможно установить gem - Не удалось создать собственное расширение gem - Не удается загрузить такой файл - mkmf (LoadError)

Ruby 1.9.3 Часть Gemfile #............... gem "pony" gem "bcrypt-ruby", :require => "bcrypt" gem "nokogiri" #.................. Когда я пытаюсь установить гем, я получаю сообщение об ошибке alex@ubuntu:~/$ bundle Fetching gem metadata from http://rubygems.org/......... Fetching gem metadata from...

172
Двойные и одинарные кавычки

Я действительно новичок в Ruby , и я пытаюсь понять , если есть время конкретного когда я должен использовать ""против ''. Я использую одинарные кавычки большую часть времени, потому что это легче набирать, но я не уверен, что должен. например get 'user/new'противget...