为什么form_tag生成错误网址的表单(没有路由匹配[POST]“/ assets”)

时间:2012-08-07 11:05:15

标签: ruby-on-rails forms controllers

我查看了一些关于这个问题的帖子,但我无法解决这个问题。

我有索引页面,我将在其中使用params hash从中获取表单。

以下是表格:

  <%= form_tag(:action => '/show', :method => "get") do %>
   <%= datepicker_input "report","start_date", :dateFormat => "dd/mm/yy" %>
   <%= datepicker_input "report", "end_date", :dateFormat => "dd/mm/yy"%>
   <%=  submit_tag "Run Report", :class => "btn super", :id => "btn "%>
   < %end %>

和输入的名称:

  <input id="report_start_date" name="report[start_date]" size="30" type="text" class="hasDatepicker">
  <input id="report_end_date" name="report[end_date]" size="30" type="text" class="hasDatepicker">

但它正在生成这样的URL:

  action="/assets?action=%2Fshow&controller=financial_reports&method=get"

另外,我需要将params值传递给索引控制器,如下所示:

def index
 start_date = params[:start_date]
 end_date = params[:end_date]
  @financial_reports = current_user.financial_reports#.where(:created_at => the_start.to_date..the_end.to_date)
end

但它当然给了我错误'nilClass的未定义方法'。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

&lt;和&amp;在你的最后一行SO中的拼写错误?否则Ruby可能会搞砸,因为表单标记在完成另一个地方时结束,而不是你想象的那样......