Ruby on rails 将所选值传递给Rails控制器

Ruby on rails 将所选值传递给Rails控制器,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在balances controller balances\u controller.rb中有一个名为“statement”的方法,它将特定日期@latestDate的信息返回到view statement.html.rb @latestDate = the most recent date in the 'date' column in the 'balances' table 在视图中,我还得到了一个所有日期的下拉列表,当选择一个日期时,我希望能够更新信息,这样实际上,语句方法会再次调用

我在balances controller balances\u controller.rb中有一个名为“statement”的方法,它将特定日期@latestDate的信息返回到view statement.html.rb

@latestDate = the most recent date in the 'date' column in the 'balances' table
在视图中,我还得到了一个所有日期的下拉列表,当选择一个日期时,我希望能够更新信息,这样实际上,语句方法会再次调用,但@latestDate会设置为下拉列表中的所选值

我该怎么做

更新:

我已经用brito的建议修改了代码。当我按下搜索按钮时,表单将传递以下参数:

?utf8=✓&date_id=30%2F12%2F2015&commit=Search 
但是,如果我选择一个日期并单击“搜索”,则会设置@latestDate并正确显示h1标记,但不会返回其余数据

代码:

平衡控制器.rb

余额/statement.html.rb

@latestDate = the most recent date in the 'date' column in the 'balances' table

下拉列表是一种输入HTML。 s和s必须在HTML元素中

使用纯HTML

中的任何内容都可以在params散列中访问。因此,如果您有一个下拉列表,它应该位于如下所示的范围内:

<form accept-charset="UTF-8" action="/yourroute" method="get">
  <select name="car">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="opel">Opel</option>
    <option value="audi">Audi</option>
  </select>
</form>
编辑

要检查并设置@latestDate=余额[date\u id],如果选择了余额[date\u id]:

@latestDate ||= params[:balance[date_id]] unless params[:balance].blank?

谢谢你的解释。我正在尝试使用helper方法并单击Search按钮,querystring就这样被填充了?utf8=✓&余额[日期\u id]=13%2F10%2F2015&提交=搜索。是否可以只传递balance[date\u id]值?Rails生成一些URL参数,如utf8=✓ 自动地我不明白你为什么需要从URL中删除它们。有什么特别的原因吗?只是整理一下。在检查参数是否存在,如果存在,读取它。。。如果参数[:余额[日期id]!=null'@latestDate=params[:余额[日期\ id]]。。。返回BalancesControllerstatement中的NameError。请更新您的代码,以便我提供进一步建议。已完成。您将看到我已将下拉控件包装在表单帮助器中。
<%= form_tag("/search", method: "get") do %>
  <%= label_tag(:q, "Search for:") %>
  <%= text_field_tag(:q) %>
  <%= submit_tag("Search") %>
<% end %>
@latestDate ||= params[:balance[date_id]] unless params[:balance].blank?