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

96
RVM не работает в ZSH

Я хотел бы опробовать оболочку ZSH на своем Mac, но я также много занимаюсь разработкой Ruby и Rails, поэтому я тоже довольно часто использую RVM. Проблема в том, что я не могу заставить RVM работать в ZSH, и он отлично работает в оболочке Bash по умолчанию: > zsh > rvm 1.9.2 > ruby -v...

96
Метапрограммирование Ruby: имена переменных динамического экземпляра

Допустим, у меня есть следующий хеш: { :foo => 'bar', :baz => 'qux' } Как я мог динамически установить ключи и значения, чтобы они стали переменными экземпляра в объекте ... class Example def initialize( hash ) ... magic happens here... end end ... так что внутри модели я получу следующее...

96
Как заставить rspec-2 давать полную трассировку, связанную с ошибкой теста?

Прямо сейчас, если я запускаю свой набор тестов, rake specя получаю сообщение об ошибке: 1) SegmentsController GET 'index' должен работать Отказ / ошибка: получить индекс undefined метод `locale 'для # # ./spec/controllers/segments_controller_spec.rb:14: в `блоке (3 уровня) в ' Это нормально, у...

96
find () с nil, когда нет записей

В моей текущей программе rails, когда я использую что-то вроде user = User.find(10) Когда нет пользователя с ID = 10, у меня будет исключение, например: ActiveRecord::RecordNotFound: Couldn't find User with ID=10 Могу ли я получить nil вместо того, чтобы вызывать исключение, когда я делаю что-то...

96
В чем разница между методами сборки и создания в FactoryGirl?

Во вступлении Factory Girl подчеркивается разница между FactoryGirl.build()и FactoryGirl.create(): # Returns a User instance that's not saved user = FactoryGirl.build(:user) # Returns a saved User instance user = FactoryGirl.create(:user) Я до сих пор не понимаю практических различий между ними....

95
Ruby: объединение переменных в строку

Я ищу лучший способ объединить переменные в строку в Ruby. Например, если строка выглядит примерно так: « »animal actionsecond_animal И у меня есть переменные animal, actionи second_animal, что является предпочтительным способом поместить эти переменные в к строке?...

95
Как открывать файлы относительно домашнего каталога

Следующее не работает Errno::ENOENT: No such file or directory, даже если файл существует: open('~/some_file') Однако я могу сделать это: open(File.expand_path('~/some_file')) У меня два вопроса: Почему openтильда не обрабатывается как указывающая на домашний каталог? Есть ли способ получше...

95
Преобразование UTC в местное время в Rails 3

У меня проблемы с преобразованием UTC Timeили TimeWithZoneместного времени в Rails 3. Скажем moment, какая-то Timeпеременная в формате UTC (например moment = Time.now.utc). Как мне перейти momentна мой часовой пояс, заботясь о DST (например, используя EST / EDT)? Точнее, я хотел бы распечатать...

95
Rails Console: перезагрузите! не отражают изменения в файлах модели? В чем может быть возможная причина?

Раньше все работало нормально. Я немного поиграл в конфиг. Так что, возможно, я неосознанно изменил какую-то конфигурацию. вот конфиг окружения / development.rb config.cache_classes = false # Log error messages when you accidentally call methods on nil. config.whiny_nils = true # Show full error...

95
Наследование методов класса от модулей / миксинов в Ruby

Известно, что в Ruby методы класса наследуются: class P def self.mm; puts 'abc' end end class Q < P; end Q.mm # works Однако меня удивляет, что он не работает с миксинами: module M def self.mm; puts 'mixin' end end class N; include M end M.mm # works N.mm # does not work! Я знаю, что метод...

95
Где разместить частные методы в Ruby?

В большинстве блогов, руководств или книг есть частные методы внизу любого класса / модуля. Это лучшая практика? Я нахожу более удобными частные методы по мере необходимости. Например: public def my_method # do something minion_method end private def minion_method # do something end public def...

95
Пользовательские классы ошибок Ruby: наследование атрибута сообщения

Я не могу найти много информации о пользовательских классах исключений. Что я знаю Вы можете объявить свой собственный класс ошибок и позволить ему наследовать от него StandardError, поэтому он может быть rescued: class MyCustomError < StandardError end Это позволяет поднять его, используя:...

95
Установка RubyGems в Windows

Я новичок в рубине. Я попытался установить Ruby Gems на свой компьютер, следуя инструкциям на сайте http://rubygems.org/pages/download . Я загрузил пакет с указанного сайта, изменил каталог на каталог, в котором находится установка, и попытался запустить установку с помощью команды setup.rbв...