2013-03-06 2 views
3

저는 RoR에 비교적 익숙합니다. 내가 HAML레일 : 조건부 필수 입력란이있는 양식

= form.text_field :country, 'Country' 
= form.text_field :state, 'State', :placeholder => 'optional' 

에 다음과 같은 소스를 가지고 있지만 : 제출 한 상태는 사용자가 미국 이외의 사용자가있는 경우에만 선택 사항입니다 정확히 선택하지 그/그녀의 나라 == 'USA'필드의 경우 필수가되어야합니다.

시도하지 왜

답변

1

, 귀하의 경우에는

,

HAML 들여 쓰기를 기반으로하며, 파서는 tricky.You는 사용할 필요가 없습니다 수 있습니다 "- 끝"HAML에. 대신에 들여 쓰기를 사용하십시오. Haml에서는 Ruby 평가 명령 후에 들여 쓰기가 증가 할 때마다 블록이 시작됩니다. 들여 쓰기가 감소 할 때 끝납니다. else else block if 다음과 같습니다.

- if country != 'USA' # change country variable to your country value variable 
    = form.text_field :state, 'State', :placeholder => 'optional' 
- else 
    = form.text_field :state, 'State', :placeholder => 'Mandatory' 

그냥 IF 조건을 사용하려는 경우, 정상적인 루비 형태의 코드에서

- if country != 'USA' # change country variable to your country value variable 
    = form.text_field :state, 'State', :placeholder => 'optional' 

,

<% if @country == 'USA' %> # change @country variable to your country value variable 
    <%= form.text_field :state, 'State', :placeholder => 'Mandatory' %> 
<% else %> 
    <%= form.text_field :state, 'State', :placeholder => 'optional' %> 
<% end %> 

위는 생각을 그냥 예입니다 .. I 때문에 어떤 변수에 저장된 국가 값을 알지 못했습니다.