우선 8 개월 동안 레일스를 배웠지 만 어제부터 시작한 것 같아서 제발 참아주십시오. 내 값인 visible이 올바르게 작동하지 않는 이유를 해결하려고합니다. Simple_form을 사용하고 있습니다. - 그들이 그것을 '대중', 다른 사용자가 개인 경우, 그들 만이 그것을 볼 수 있습니다, 그것을 볼 수 있도록 경우schema.rb와 ruby에서 mysql 데이터베이스 문제
<div class='review-form'>
<%= simple_form_for(@review) do |f| %>
# input boxes for current_user to put text here
#'public' radio button, checked by default, class is for css
<%= f.radio_button :visible, "true" , :class => "share_button" %>
#'private' radio button, class is for css
<%= f.radio_button :visible, "false", :class => "keep_private_button" %>
#user can cancel
<%= link_to I18n.t('write_review.cancel_button'), landing_page,
:class => 'btn' %>
#user can submit
<%= f.button :submit, I18n.t('write_review.submit_button'),
:class => 'btn btn-primary' %>
아이디어가 CURRENT_USER 리뷰를 쓰는 것입니다 : '볼'라디오 버튼 값입니다. 라디오 버튼이 정상적으로 작동합니다. 로그 아웃하면 다른 컴퓨터 등에서 앱을보고 라디오 버튼이 마지막으로 저장된 상태가됩니다. 문제는 현재 검토 인 @review가 라디오 버튼의 상태에 관계없이 모든 사람에게 항상 표시된다는 것입니다.
검토 양식에 <%= @review.visible? %>
을 입력했습니다. 라디오 버튼이 거짓 일지라도 페이지를 새로 고칠 때마다 '참'입니다. 나는 리뷰를 저장하고 @ review.visible은 그에 따라 일치한다. 그러나 그때 나는 새롭게하고 진실로 돌아 간다. 내가 :default => true
을 삭제하고 호전이 없었다
t.boolean "visible", :default => true
하지만 난 당신이 수동으로 방해 안돼요 듣고 내 schema.rb에서
내가 가진 :나는 문제가 될 수 있다고 생각 어쨌든 schema.rb.
기본값 => true가 문제의 원인이라고 생각하십니까? '이주'를하는 것이 최선의 길일까요? 마이그레이션에서 '기본 => 참'이라고 어떻게 말합니까?
마지막으로 내 schema.rb에 '부울'이 있지만 실제 데이터베이스에 visible: tinyint(1)
이 있는데, 나는 물고기 같다고 생각했지만 온라인으로 읽은 사실 그들은 사실 같은 것이므로 생각하지 않습니다. 문제 - 다르게 생각하면 알려주세요.
건배, 나를 바른 길로 인도 해줘서 고마워. 그것으로 지금보십시오. 단 하나의 대안은 기본값 => false를 갖는 것입니다. 부울은 하나 또는 다른 것이되어야합니다. 맞습니까? – CHarris