3 개의 관련 모델로 중첩 된 양식이 있습니다. 맞춤 양식 작성 도구 PanelFormBuilder
으로 모든 입력란을 작성하고 싶습니다. 그러나 form_for
은 양식 작성자가 처리하는 것으로 보이고 fields_for
은 처리하지 않습니다. 기본 처리기로 처리됩니다. 나는 내 인생이 왜 힘든 일을 할 수는 없다.fields_for 메소드에서 사용자 정의 양식 빌더가 호출되지 않았습니다.
이 작동 :
<%= panel_form_for @firm do |f| %>
이 그렇지 않은 : 여기
module ApplicationHelper
def panel_form_for(object, options = {}, &block)
options[:builder] = PanelFormBuilder
form_for(object, options, &block)
end
def panel_fields_for(object, options = {}, &block)
options[:builder] = PanelFormBuilder
fields_for(object, options, &block)
end
end
는 사용자 지정 양식 빌더
class PanelFormBuilder < ActionView::Helpers::FormBuilder
delegate :content_tag, :tag, to: :@template
%w[text_field text_area password_field].each do |method_name|
define_method(method_name) do |name, *args|
options = args.extract_options!
options.merge!(:class => "required")
super(name, *(args + [options]))
end
end
end
,691입니다 : 여기
<%= panel_fields_for @firm.company do |c| %>
사용자 정의 메소드입니다
누구나 내가 뭘 잘못하고 있다고 말할 수 있습니까?
감사합니다.