Ruby on Rails:如何从表单输入中收集临时值

时间:2014-05-07 23:13:19

标签: ruby-on-rails forms http-post

我在提出正确的问题时遇到了麻烦。从我的角度来看,表单要求用户选择一个数字6-10。一旦用户提交了数字,控制器就会使用该数字进行比较(if / else)。

我很难找到获得6-10值的方法。所以我在我的模型中定义了一个值@test_rand_variable。

attr_accessible :test_rand_variable

现在我正试图找到一种可行的方法:

<%= form_tag({controller: "subjects", action: "randomize"}, method: "post") do %>
    <div class="span6 offset3 center">
        <div>
            Enter Group Size: 
            <%= select @test_rand_variable,
            [['',nil],
            ["6",6],
            ["7",7],
            ["8",8],
            ["9",9],
            ["10",10]] %>

我也不确定如何访问该变量,所以也许这就是我没有看到该值的原因。这是我尝试的一个例子:

params[@test_rand_variable] >= 6

如果有人有关于此的一些文献或任何帮助,我会非常感激。

1 个答案:

答案 0 :(得分:1)

数据库中有test_rand_variable列吗?

如果不是,您想要使用attr_accessor:,那将允许变量按如下方式传递:

<%= form_tag({controller: "subjects", action: "randomize"}, method: "post") do %>
    <div class="span6 offset3 center">
        <div>
            Enter Group Size: 
            <%= select_tag "select_rand_variable",
            [['',nil],
            ["6",6],
            ["7",7],
            ["8",8],
            ["9",9],
            ["10",10]] %>

然后应将其作为params[:select_rand_variable]

传递给控制器

希望这会有所帮助,因为我玩了form_tags

已经有一段时间了