속성에 선택할 수있는 8 개의 라디오 버튼 인 mvp와 마지막에 선택 드롭 다운 메뉴가있는 양식이 있습니다. 사용자가 해당 값 중 하나에 대해 라디오 버튼을 누르거나 라디오 버튼을 선택하지 않고 선택 드롭 다운 메뉴에서 옵션을 선택할 수있게하려고합니다. 선택 필드에서 라디오 버튼과 옵션을 모두 선택할 수는 없습니다. 여기 내 코드가있다. 제발 조언.라디오 버튼을 사용하고 양식의 필드 XOR을 레일스로 선택하는 방법은 무엇입니까?
은 HTML은 내가 상관없이 내가 라디오 버튼으로 누르면 어떤 옵션 양식을 작성하지하려고하면 지금 현재로
<%= form_for(current_user.awards.build) do |f| %>
<%= f.radio_button :mvp, 'Stephen Curry' %>
<%= f.radio_button :mvp, 'Lebron James' %>
<%= f.radio_button :mvp, 'Kevin Durant' %>
<%= f.radio_button :mvp, 'Russell Westbrook' %>
<%= f.radio_button :mvp, 'Kawhi Leonard' %>
<%= f.radio_button :mvp, 'Karl-Anthony Towns' %>
<%= f.radio_button :mvp, 'Chris Paul' %>
<%= f.select :mvp, ['Al Horford', 'Al Jefferson', 'Andre Drummond', 'Andre Igoudala','Andrew Wiggins', 'Anthony Davis', 'Austin Rivers', 'Ben Simmons', 'Blake Griffin', 'Brook Lopez', 'Carmelo Anthony', 'Chandler Parsons','Chris Bosh', 'Damian Lillard', 'Deandre Jordan', 'Demar Derozan', 'Demarcus Cousins', 'Derrick Favors', 'Dirk Nowitzki', 'Draymond Green', 'Dwight Howard', 'Dwyane Wade', 'Eric Bledsoe', 'Giannis Antetokounmpo', 'Greg Monroe', 'Goran Dragic', 'Gordon Hayward', 'Harrison Barnes','Hassan Whiteside', 'Isaiah Thomas', 'Jahlil Okafor', 'James Harden', 'James Jones','Jeff Teague', 'Jimmy Butler', 'John Wall', 'Kemba Walker','Kevin Love', 'Khris Middleton', 'Klay Thompson', 'Kristaps Porzingis', 'Kyle Lowry', 'Kyrie Irving', 'Lamarcus Aldridge', 'Marc Gasol', 'Mike Conley', 'Nerlens Noel', 'Nicolas Batum', 'Nikola Pekovic', 'Pau Gasol', 'Paul George', 'Paul Millsap','Ricky Rubio','Rudy Gobert', 'Victor Oladipo', 'Zach Lavine'], include_blank: "Select One" %>
<%= f.submit "Submit Pick" %>
, 항상 제출됩니다 값은 선택 상자의 하나입니다 . select 필드의 끝에 include_blank : 옵션을 추가했지만 제출 된 값은 공백 값입니다. 따라서 어떤 이유로 기본 제출은 선택 필드에서 선택되는 것과 같습니다.
좋아요, 왜냐하면 당신은 라디오 버튼과 select 태그에 대해 * name *이 같기 때문입니다. 유니크 (uniq) 이름이 필요합니다. –
@ArupRakshit 와우는 의미가 있습니다. 어떻게 다른 이름을 사용합니까? : mvp는 값이 내 양식에 제출되는 속성입니다. 어떻게 그들에게 커스텀 태그를 주겠습니까? – Joe
다른 이름을주고 컨트롤러 안에'if else' 체크를하고, 그 커스텀 이름 값을 실제 속성에 할당하십시오. 결정을 내리고 파라미터를 수정하여 생성/업데이트하기 위해 AR에 보내기 전에 2-3 줄의 코드를 작성해야합니다. 지금 지우시겠습니까? :) –