2014-11-21 7 views
0

레일 4의 부트 스트랩을 사용하여 모델에 대한 새 양식을 만들고 다음과 같이 form_group을 만듭니다.레일 4의 입력 필드에 대해 'help-block'단락을 만드는 방법

<%= form_for @model, url: {action: "create"} do |f| %> 

<%= f.label :name %> 
<%= f.text_field :name, placeholder: "Your name" %> 
<%= content_tag :p, "Help inline", class: "help-inline", id: :name %> 

<% end %> 

하지만 "인라인"을 추가 (이 경우, 'MODEL_NAME') 레이블 입력처럼 content_tag의 "ID"를 수행 할수 없어 내보기에서

<label for="model_name">Name</label> 
<input class="form-control" id="model_name" name="model[name]" placeholder="Your name" type="text"> 
<p class="help-inline" id="model_name_inline">Help inline</p> 

나는이 작업을 수행 id에

어떻게 할 수 있습니까? 양식의 사용자 정의 필드에 대한 content_field 유형이 있습니까? :-)

미리 감사드립니다.

UPDATE : 올바른 ID 나 도우미로 그를 추출 할

+0

HTML 문서의 CSS ID는 재사용하고 대신 클래스로 변경하려는 경우 고유해야한다고 가정합니다. 너 정확히 뭘 하려구? – Surya

+0

사실입니다! 이 "model_name_inline"과 같은 입력 이름에서 생성 된 ID를 설정하려고합니다. 여기서 "model_name"은 입력 필드의 ID입니다. – Marino

답변

1

과 질문을 업데이트 주석 들려요 감사합니다. 예를

module ApplicationHelper 
    def inline_help(help_text, object_name, method) 
    content_tag :p, help_text, class: "help-inline", id: "#{object_name}_#{method}_inline" 
    end 
end 

를 들어 그런 다음이 도움이

<%= form_for @model, url: {action: "create"} do |f| %> 

<%= f.label :name %> 
<%= f.text_field :name, placeholder: "Your name" %> 
<%= inline_help 'Help inline', f.object_name, :name %> 

<% end %> 

희망 같은 양식 내에서 사용할 수 있습니다.

+0

고마워요! 그것은 작동합니다. – Marino