Языки и технологии я изучаю методом умножения шишек на лбу. Набредете на такие вот грабли — хоть немного места на лбу сбережете.
Убунтоиды могут столкнуться с такой бедой: при установке gem ruby-debug-ide установщик жалуется на отсутствие какого-то mkmf и отказывается продолжать. И sudo здесь ни при чем. Не ищите соответсвующий gem, загляните лучше в системный менеджер пакетов (aptitude, Synaptic или Adept или сильномогучие apt-get и dpkg :) ). Кроме вполне логичного для программистов
Совет в принципе применяется ко всем библиотекам с native extension в сердце.
Поклонникам jruby придется избегать пакетов с native extensions — ищите версии пакетов, поемеченные
habtm — это сокращенно has_and_belongs_to_many (будут проблемы — ищите на форумах и так, и этак). Ему нужна таблица ассоциаций, состоящая только из id двух связываемых объектов. И если от timestamps легко избавиться, то колонка id в качестве первичного ключа создается без нашего ведома и может попортить немало кровушки таким нубам как я. Чтобы избавиться от нее, не нужно делать одну лишнюю миграцию. Код создания таблицы ассоциации може выглядеть следующим образом:
ruby-debug-ide и mkmf
Убунтоиды могут столкнуться с такой бедой: при установке gem ruby-debug-ide установщик жалуется на отсутствие какого-то mkmf и отказывается продолжать. И sudo здесь ни при чем. Не ищите соответсвующий gem, загляните лучше в системный менеджер пакетов (aptitude, Synaptic или Adept или сильномогучие apt-get и dpkg :) ). Кроме вполне логичного для программистов
build-essential
должен быть установлен еще и ruby[X]-dev
(где [X] — предпочитаемая вами версия Ruby, скорее всего у вас 1.8, т.е. пакет ruby1.8-dev). После его установки повторите команду на установку ruby-debug-ide, всё пойдет как по маслу.Совет в принципе применяется ко всем библиотекам с native extension в сердце.
Поклонникам jruby придется избегать пакетов с native extensions — ищите версии пакетов, поемеченные
-jruby
.habtm: id в таблице ассоциаций
habtm — это сокращенно has_and_belongs_to_many (будут проблемы — ищите на форумах и так, и этак). Ему нужна таблица ассоциаций, состоящая только из id двух связываемых объектов. И если от timestamps легко избавиться, то колонка id в качестве первичного ключа создается без нашего ведома и может попортить немало кровушки таким нубам как я. Чтобы избавиться от нее, не нужно делать одну лишнюю миграцию. Код создания таблицы ассоциации може выглядеть следующим образом:
class CreateOnesTwos < ActiveRecord::Migration def self.up create_table :ones_twos, :id => false do |t| # вон он, дополнительный параметр :id t.references :one t.references :two end end def self.down drop_table :ones_twos end end