получение автоматических идентификаторов для отправки тегов обратно в рельсы 3.1 - PullRequest
2 голосов
/ 14 января 2012

Я пытаюсь переместить приложение на рельсы 3.1. Многие из моих тестов не работают, потому что кнопки отправки больше не имеют идентификатора. Примечания к выпуску (см. раздел «5.3 - Просмотр действий») подтвердите это:

Помощник по отправке формы больше не генерирует идентификатор «имя_объекта».

Вот соответствующий коммит , который изменил action_view / helpers / form_helper.rb.

Я хочу вернуть старое поведение, не шутя с установленным гемом или не меняя все мои взгляды вручную. Поэтому я пытаюсь это исправить:

# this is config/initializers/FormHelperMonkeypatch.rb

module ActionView
  module Helpers
    module FormHelper # <-- this is the line phoet repaired, see his answer below

      # code from rails 3.0
      def submit(value=nil, options={})
        value, options = nil, value if value.is_a?(Hash)
        value ||= submit_default_value
        @template.submit_tag(value, options.reverse_merge(:id => "#{object_name}_submit"))
      end

    end
  end
end

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

1 Ответ

1 голос
/ 14 января 2012

вы редактируете не в том месте. используйте это:

module ActionView
  module Helpers
    class FormBuilder
      # code from rails 3.0
      def submit(value=nil, options={})
        value, options = nil, value if value.is_a?(Hash)
        value ||= submit_default_value
        @template.submit_tag(value, options.reverse_merge(:id => "#{object_name}_submit"))
      end
    end
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...