기본 양식 빌더를 하위 클래스로 분류하여 몇 가지 추가 방법을 추가했습니다. 샘플 코드는 다음과 같습니다. 을 변경 이론적으로는 가능처럼레일 4, 기본 양식 빌더를 전체적으로 변경하십시오.
module ApplicationHelper
class AppFormBuilder < ActionView::Helpers::FormBuilder
def coordinates_field(method, options = {})
options[:readonly] = 'true'
....
@template.text_field(@object_name, method, objectify_options(options))
end
end
end
이 잘 작동하지만, 나는 coordinates_field
방법을 사용하는 모든 형태, 즉의 뷰 코드를 변경해야 그것을 사용하기는
<%= form_for @object, :builder => ApplicationHelper::AppFormBuilder do |f| %>
...
<% end %>
소리가 난다 전 세계적으로 기본 양식 작성 도구 (config.action_view.default_form_builder
)를 사용하고 있지만이 기능을 사용할 수없는 것 같습니다. 이것은 내가 /config/application.rb
에서 시도한 것입니다 : 문자열을 나는 양식을 가진보기를 쳤을 때 "ApplicationHelper :: AppFormBuilder"에 대한 '새로운'오류 정의되지 않은 메서드 결과
module Web
class Application < Rails::Application
...
config.action_view.default_form_builder = "ApplicationHelper::AppFormBuilder"
end
end
.
내가 대신 내가 응용 프로그램을 시작 오류 * config.action_view.default_form_builder = ApplicationHelper :: AppFormBuilder *를 얻을이
config.action_view.default_form_builder = ApplicationHelper::AppFormBuilder
을 시도하십시오.
아무에게도 이것이 작동하도록하는 방법에 대한 지침을 제공 할 수 있습니까?
감사합니다 맥스, 그게 – Mike