2017-04-05 1 views
0

Noob 질문입니다! :)일부 속성에 묶이지 않은 레일스의 폼에 확인 확인란을 추가 하시겠습니까?

기본적으로 전화 번호는 some_action입니다. 이 양식을 사용하는 이유는 Google의 대형 웹 사이트에서 특정 스타일을 지정했기 때문입니다.

<%= styled_form_for(@user, :url => some_action_user_path @user)) do |f| %> 
    <%= f.save_button %> 
<% end %> 

양식이기 때문에 거기에 체크 박스를 넣을 수 있어야한다고 생각했습니다. 사용자가 실제로이 작업을 수행하기를 원하는지 확인하는 것 외에 다른 목표는 없어야합니다. 예 : "예, 사용자 모델에 some_action을 보내고 싶습니다."

실제로 속성을 변경하거나 영향을주지 않는 체크 박스를 만드는 방법 - 양식 제출을 확인해야합니다.

이 아마 죽은 간단하지만

+0

사용자가 저장 버튼을 클릭하면 어떻게됩니까? Ajax 호출이나 리디렉션 사용자를 수행합니까? – bunty

답변

1

form_for이의 속성에 작동하는 것을 의미한다 나는 그런 속성 인수를 제공해야 문서 및 다양한 오류 메시지 (내가 원하지 않는 ...)에 따라 모델, 이것은 당신이 읽고있는 모든 문서가 말하고있는 것입니다. 따라서 모델에 부울 열이 있으면 확인란을 쉽게 추가 할 수 있습니다.

이 작업을 수행하지 않는 양식 (또는 특정 태그)을 원할 경우 _tag 버전의이 방법을 사용할 수 있습니다. 예를 들어 form_tag 또는 특별한 경우 check_box_tag입니다.

예 :

<%= styled_form_for(@user, :url => some_action_user_path @user)) do |f| %> 
    <%= check_box_tag "do_some_method" %> 
    <%= f.save_button %> 
<% end %> 

참고 : 전원이 선택된 경우에만 :do_some_method에 대한 PARAM 항목을 얻을 것이다. 관계없이 매개 변수를 가져 오려면 앞에 hidden_field_tag을 추가해야합니다.

<%= hidden_field_tag "do_some_method", "no_dont_do_it" %> 
<%= check_box_tag "do_some_method", "yes_do_it" %> 

이제 확인란이 "yes_do_it"params[:do_some_method] 세트를 얻을 수 있습니다를 선택하면, 선택하지 않으면 항목이없는 대신 params[:do_some_method]"no_dont_do_it"으로 설정됩니다.

+1

이전에는 '_ 태그'버전을 처음 접한 적이 없었습니다. 감사! – Teresa

관련 문제