0

내가 사용 레일의 라디오 버튼을 만들려고 노력 해요 :레일스 라디오 버튼을 확인하지 않으셨습니까?

<%= f.radio_button :category_id, "1" %>

문제는이 기본적으로 선택 것입니다, 나는 사용자가 명시 적으로 클릭하지 않고 양식을 제출할 수 싶지 않아 먼저 (기본적으로 나는 페이지가로드 될 때 선택을 취소한다.)

오류가 발생하기 전에 사용자가 입력 한 내용을 덮어 쓰는 것처럼 보이는 :checked => false을 추가하면 페이지가 다시로드되고 페이지가 다시로드되는데 문제가있다. 다시 클릭해야합니다.

감사합니다.

답변

0

체크 된 버튼의 상태와 관련이 있다면, 어떻게 든 그것을 저장하고 그 정보를 다시보기로 가져와야합니다. 항상 반영됩니다 수동으로 작업을 수행하거나 (당신이 블록 인수에 입력 방법 오 form_for를 호출 할 때마다 사용하는) apidock

# Let's say that @post.category returns "rails": 
radio_button("post", "category", "rails") 
radio_button("post", "category", "java") 
# => <input type="radio" id="post_category_rails" name="post[category]" value="rails" checked="checked" /> 
# <input type="radio" id="post_category_java" name="post[category]" value="java" /> 
0

FormBuilder 도우미에 설명 된대로 radio_button가 처리하도록 할 수 있습니다 대응하는 속성의 현재의 값 그래서 : 그것은 당신이보기를 렌더링하기 전에 모델의 상태가 올바른지 확인되어 수행 할 작업 같은 소리 @post.category_id == "1"

경우

<%= form_for @post do |f| %> 
    <%= f.radio_button :category_id, "1" %> 

는 ... 단지 확인됩니다.

관련 문제