2010-01-26 1 views
0

ActionView 양식 입력 방식으로 내부 HTML로 <input> 태그를 만들 수 있습니까?

생성 된 html은 다음과 같습니다.

<input id="myform_ans_1" name="myform[ans]" type="radio" value="1" /> 

하지만이게 html입니다 :

<input id="myform_ans_1" name="myform[ans]" type="radio" value="1">Some Text</input> 

radio_button 메서드에 전달하여 원하는 HTML을 렌더링 할 수 있습니까?

radio_button에 전달할 수있는 선택적인 options hash를 이해하면 html 태그에 속성 만 추가합니다.

+0

유효한 마크 업입니까? 나는 그게 무엇을 렌더링하는지 모르겠다. ... – jonnii

답변

3

앱에 많은 양식이 포함되는 경우 반드시 formtastic을 살펴 봐야합니다. 당신과 같이 양식을 정의 할 수 있습니다 :이 필드 셋, 전설, 입력 및 라벨을 포함한 HTML 양식에 필요한 모든 마크 업을 생성합니다

<% semantic_form_for @article do |form| %> 

    <% form.inputs :name => "New Article" do %> 
    <%= form.input :title %> 
    <%= form.input :body %> 
    <% end %> 

    <% form.buttons do %> 
    <%= form.commit_button %> 
    <% end %> 

<% end %> 

.

1

는이 같은 for 속성 <label> 태그를 추가해야합니다

<input id="myform_ans_1" ... /><label for="myform_ans_1">Foobar</label> 

그리고 아니, 그럴 매개 변수가 없습니다. 레이블 도우미를 사용해야합니다.

1
<p><%= form.radio_button("ans", ans.num.to_s) %> 

<%= form.label("Some Text") %></p> 
+1

이것은 효과가 있지만, <% = form.label (: "ans _ # {ans.num}", "Some Text") %>' 속성은 입력 필드의 ID와 동일해야합니다. – lillq