2010-04-15 4 views
2

이 사진에 무슨 문제가 있습니까?레일 : validates_acceptance_of 미친 듯이 행동

모델 :

validates_acceptance_of :terms_of_service, :on => :create, :accept => true, :allow_nil => false 
accessor :terms_of_service 

보기 :

<%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, 1, 0 %> 

내가 organisations.terms_of_service을 가지고있는 DB에

. 내가

<%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, true, false %> 

검증이 계속 실패 사용하는 경우

내가 할 때마다

"서비스 약관이 허용되어야합니다."

내가 끄면 : accept => true, 유효성 검사가 통과 한 것처럼 보이지만 postgres를 보면 false로 표시됩니다. 레일스가이 물건을 던지기로되어 있지 않아?

이유는 말 할 수있을 것 같지 않습니다

모델 :

validates_acceptance_of :terms_of_service, :accept => true 

보기 :

check_box blah, blah, options, true 

및 내 데이터베이스에 진정한 보여?

무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?

타당한 정보 : DB 2.1

+0

TOS 특성에 대한 접근 자 선언이 필요한 이유가 궁금합니다. 레일즈가 데이터베이스 컬럼에 메타 프로 그램을 삽입하지 않았습니까? – Fred

+0

Gaaa! 그것은 그것을 고쳤다. 그것은 다른 바이올린에서 남은 것이 었습니다 ... 그래서 내가 볼 수 없었던 것은 명백했습니다. 감사합니다. 실제 답변을 작성하려면 해결 표시를 할 수 있습니다. – mikewilliamson

답변

4

는 TOS 속성에 대한 accessor 선언을 제거하십시오 포스트 그레스와 레일을 실행합니다.

+0

감사합니다. Fred. 너 락. – mikewilliamson

0

<%= check_box :organisation,'terms_of_service', {:style => "margin-left:0px"}, '1', '0' %>