Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 格式为的一个或多个范围字段的正确格式_Ruby On Rails - Fatal编程技术网

Ruby on rails 格式为的一个或多个范围字段的正确格式

Ruby on rails 格式为的一个或多个范围字段的正确格式,ruby-on-rails,Ruby On Rails,我有一个range_字段,它位于表单_的内部,我不确定如何正确地将所需的值传递给控制器和数据库 我似乎找不到太多关于range_字段的信息。这是我能找到的唯一类似的问题 范围\字段(对象\名称、方法、选项={})公共 我希望在单击“下一步”时,它将:value、:food\u id、:user\u id、:vas\u question\u id保存在新的vas\u答案中。我是否需要使用隐藏的_字段来执行此操作 每页上可能有1-3个问题。 将其保存为数组或3个单独的答案会更好/更容易吗 从我当前的

我有一个range_字段,它位于表单_的内部,我不确定如何正确地将所需的值传递给控制器和数据库

我似乎找不到太多关于range_字段的信息。这是我能找到的唯一类似的问题

范围\字段(对象\名称、方法、选项={})公共

我希望在单击“下一步”时,它将
:value、:food\u id、:user\u id、:vas\u question\u id
保存在新的vas\u答案中。我是否需要使用隐藏的_字段来执行此操作

每页上可能有1-3个问题。 将其保存为数组或3个单独的答案会更好/更容易吗

从我当前的视图中删除相关代码:

<%= form_for @answer do |answer| %>
  <% @foods.each do |food| %>       # there could be 1, 2, or 3 foods
    <h4 class="col-md-offset-1 col-md-10" style="font-size: 16px; line-height: 1.6em; clear: both;"><%= @question.prompt_left %> <strong><%= food.name %></strong> <%= @question.prompt_right %></h4>

    <%= range_field :vas_answers, :value, min: 1, max: 500, step: 1, class: 'not-clicked', :food_id => food.id, :user_id => current_user.id, :vas_question_id => @question.order %>  

    # I saw :user_id => user.id on another question so I tried it, but I don't know what it is really doing

  <% end %>
  <%= answer.submit 'Next', :class => 'col-md-offset-9 btn btn-primary btn-surv' %>
<% end %>

我想你的方法可能有点混乱。我建议使用一种涉及表单和嵌套表单的不同方法,而不是逐行解释失败的原因。查看有关主题的Rails Cast:

这是一个较老的主题,但它应该可以帮助您理顺表单结构。他有关于这个主题的最新演员阵容,但你必须是会员才能看到:

我要说的是,按照这种模式重新构建你的表单,然后带着另一组问题回来。从最简单的结构形式开始,让它工作,然后增加复杂性

希望有帮助

更新:我在Reddit上看到了你的帖子。事实上,你似乎是奇科州立大学的学生,这可能会阻止人们想“做你的家庭作业”。我试图以一种能让你学习Rails的方式来回答问题,而不是为你解决问题

class VasAnswersController < ApplicationController
  before_filter :authenticate_user!

  def create
    @answer = VasAnswer.new(answer_params[:vas_answers])
    @q_num = params[:order]      # determine order of questions (not really relevant)
    @q_num = @q_num.to_i + 1
    respond_to do |format|
      if @answer.save
        if @q_num < 25
          format.html { redirect_to vas_questions_url(@q_num) }
        else
          format.html { redirect_to demographics_path}
        end
      end
    end
  end

private
    def answer_params
      params.require(:vas_answers).permit(:value, :user_id, :vas_question_id, :food_id)
    end
end
  post   "vas_questions/:order" => "vas_answers#create", as: :vas_answers