Ruby on rails 格式为的一个或多个范围字段的正确格式
我有一个range_字段,它位于表单_的内部,我不确定如何正确地将所需的值传递给控制器和数据库 我似乎找不到太多关于range_字段的信息。这是我能找到的唯一类似的问题 范围\字段(对象\名称、方法、选项={})公共 我希望在单击“下一步”时,它将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个单独的答案会更好/更容易吗 从我当前的
: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