0
내가 부트 스트랩 스타일을 사용하여 양식 스타일을 FormBuilder 레일을 만들려고 오전 :Content_tag 블록 content_tag 블록 안에 중첩 - 폼 빌더
<div class="form-group has-error">
<label for="exampleInputEmail1">Email address</label>
<div class="input-group>
<input type="email" class="form-control" id="exampleInputEmail1" placeholder="Enter email">
<span class="input-group-addon glyphicon glyphicon-user"></span>
</div>
<p class="help-block>can't be blank</p>
</div>
나는 단지 하나를했을 때 나는 일을 양식 빌더를 얻을 수있었습니다 div 태그 (전통적인 부트 스트랩 양식에 대한 입력 그룹 제외. 내 문제는 제대로 작동하려면 클래스 "입력 그룹"div 함께 중첩 된 content_tag 가져올 수 없습니다. 요소를 추가하고 content_tag 래핑하는 시도했다. 아무 소용이 없습니다.
class LargeFormBuilder < ActionView::Helpers::FormBuilder
include ActionView::Helpers::TagHelper
include ActionView::Helpers::CaptureHelper
include ActionView::Helpers::TextHelper
attr_accessor :output_buffer
%w(text_field text_area email_field password_field).each do |form_method|
define_method(form_method) do |*args|
attribute = args[0]
options = args[1] || {}
options[:label] ||= attribute
options[:class] ||= "form-control input-lg"
label_text ||= options.delete(:label).to_s.titleize
content_tag(:div, class: "form-group #{'has-error' if !object.errors[attribute].empty?}") do
concat label(attribute, label_text, class: "control-label")
concat (
content_tag(:div, class: "input-group") do
concat super(attribute, options)
concat content_tag(:span, "", class: "input-group-addon glyphicon glyphicon-user")
end
)
concat errors_for_field(attribute)
end
end
end
def errors_for_field(attribute, options={})
return "" if object.errors[attribute].empty?
content_tag(:p, object.errors[attribute].to_sentence.capitalize, class: "help-block")
end
end