Настройка / Переопределение Rails SimpleForm Gem - PullRequest
1 голос
/ 16 ноября 2010

Я использую гем Rails SimpleForm, но я думаю, что мой вопрос может быть применим к любому гему.

https://github.com/plataformatec/simple_form

В нем много замечательных функций и настроек, но я собираюсь пойти немного дальше. Например, мне бы очень хотелось, чтобы в сгенерированной разметке не было классов, вставленных по умолчанию, но мне все же хотелось бы иметь возможность вставлять свои собственные вручную. Я обнаружил, что могу удалить некоторые классы, комментируя строки в файлах gem. Однако это не входит в мой проект - я бы хотел, чтобы СУХОЕ решение оставалось в моем проекте при развертывании в производство, желательно без упаковки всех моих драгоценных камней.

Я полагаю, что это обычная ситуация, которая может применяться к любому драгоценному камню, и я должен иметь возможность полностью или частично переопределить любой драгоценный камень, добавив в свой проект файлы таможни, которые переопределяют драгоценный камень ... но я не уверен как.

Любая помощь будет оценена! Благодаря.

1 Ответ

0 голосов
/ 17 ноября 2010

Вы говорите о исправлении обезьян ?Скажем, у вашего драгоценного камня есть класс в файле

# simple_form_gem/lib/some_file.rb
class A
  def some_method
    puts 'A'
  end
end

Если вы хотите изменить вывод #some_method, вы можете создать файл инициализатора и выполнить

# config/initializers/my_monkey_patch_for_simple_form_gem.rb
class A
  def some_method
    puts 'duck punching'
  end
end

.влияет только на A # some_method, но не на другие методы в A. Просто убедитесь, что вывод вашего патча обезьяны не сломает что-то еще в геме.

...