首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 6 form_for radio_buttons未提交值

Rails 6 form_for radio_buttons未提交值
EN

Stack Overflow用户
提问于 2022-10-17 20:57:23
回答 1查看 10关注 0票数 0

ruby 3.1.1, Rails 6.1.4

我的rails表单有问题。我用的是“form_for”和几个单选按钮表单元素。表单提交,但单选按钮元素的值显示为"0“。我不知道我做错了什么。

我的应用程序的这一部分被命名为空格: root/living_muay_thai/

代码语言:javascript
复制
Migration:

class CreateLivingMuayThaiSummitSurveys < ActiveRecord::Migration[6.1]
  def change
    create_table :living_muay_thai_summit_surveys do |t|

      t.string  :question_1  # radio button
      t.string  :question_2  # radio button
      t.text    :question_3
      t.text    :question_4
      t.text    :question_5

      t.timestamps
    end
  end
end




Controller 

class LivingMuayThai::SummitSurveysController < ApplicationController
  ...
  def new
    @summit_survey = LivingMuayThai::SummitSurvey.new
  end


  def create
    survey = LivingMuayThai::SummitSurvey.new(summit_survey_params)

    if survey.save
      flash[:notice]="Your survey has been submitted"
      redirect_to(living_muay_thai_summit_surveys_thank_you_url)
    else
      flash[:notice]="Sorry, your survey could not be saved. Try Again?"
      redirect_to( new_living_muay_thai_summit_survey_url)
    end
  end
  ...

  def summit_survey_params
    params.require(:living_muay_thai_summit_survey).permit(:question_1, :question_2, :question_3,:question_4, :question_5)
  end
end



Form

<%= form_for(@summit_survey) do |f| %>

  <div class="grid-x">
    <div class="cell medium-12">
      <label for="problem"><strong>
        1) How likely are you to attend a future LMT Summit?
      </strong></label>
    </div>
  </div>
  <div class="grid-x">
    <div class="medium-5">
      <%= f.radio_button :question_1, 'One' %> <label>One</label><br />
      <%= f.radio_button :question_1, 'Two' %> <label>Two</label><br />
      <%= f.radio_button :question_1, 'Three' %> <label>Three</label><br />
      <%= f.radio_button :question_1, 'Four' %> <label>Four</label><br />
      <%= f.radio_button :question_1, 'Five' %> <label>Five</label>
  </div>

当我在浏览器中查看源代码或检查radio_button元素时,这一切似乎都是正确的:

代码语言:javascript
复制
<input type="radio" value="One" name="living_muay_thai_summit_survey[question_1]" id="living_muay_thai_summit_survey_question_1_one" /> <label>One</label><br />
<input type="radio" value="Two" name="living_muay_thai_summit_survey[question_1]" id="living_muay_thai_summit_survey_question_1_two" /> <label>Two</label><br />
<input type="radio" value="Three" name="living_muay_thai_summit_survey[question_1]" id="living_muay_thai_summit_survey_question_1_three" /> <label>Three</label><br />
<input type="radio" value="Four" name="living_muay_thai_summit_survey[question_1]" id="living_muay_thai_summit_survey_question_1_four" /> <label>Four</label><br />
<input type="radio" value="Five" name="living_muay_thai_summit_survey[question_1]" id="living_muay_thai_summit_survey_question_1_five" /> <label>Five</label>

当我提交一份记录,我没有错误。但是当我在控制台中查看记录时,我看到"0“和"0”表示'question_1‘和’问题2‘,而不是我输入的“1”和“2”。

代码语言:javascript
复制
s=LivingMuayThai::SummitSurvey.last

:010 > s
#<LivingMuayThai::SummitSurvey:0x00007f66b66a4c20
 id: 7,                                 
 question_1: "0",                       
 question_2: "0",                       
 question_3: "test 3",                     
 question_4: "test 4",                    
 question_5: "test 5",                     
 created_at: Mon, 17 Oct 2022 16:12:17.047229000 EDT -04:00,
 updated_at: Mon, 17 Oct 2022 16:12:17.047229000 EDT -04:00>

知道我做错什么了吗?我的“猜测”是表单上的radio_button代码中的某些内容,但正如我注意到的,它似乎是正确的。

EN

回答 1

Stack Overflow用户

发布于 2022-10-17 23:07:44

我已经开始工作了。我重写了我表格上的单选按钮,从头开始,还有中提琴!开始起作用了。我比较了新旧代码,看不出有什么不同,但它有效。

耸耸肩。

谢谢你找我!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74103158

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档