在Ruby On Rails中将params从视图传递到控制器的问题

时间:2011-06-12 01:17:54

标签: ruby-on-rails ruby export-to-excel link-to

我是ROR的新手,我试图将视图中两个字段中的两个变量传递给控制器​​,以生成excel导出的数据集。 excel导出工作,但我得到的只是标题,没有数据。我知道这是因为参数没有传递给控制器​​。

这是代码。 SQL缩短了...... 在视图中

    <table border="0" cellspacing="0" cellpadding="10">
      <tr>
        <td style="text-align: left; width:400px;"> Enter any part of a BU Manager Name, Subcontractor name, Subcontractor ID, PO Number, CRN or SCA name:</td>
        <td style="text-align: left;">
          <% form_tag  :controller => 'subcontracts', :action => 'show_active_subcontracts_results', :method => 'get' do %>
            <p>
              <%= text_field_tag :search, params[:search] , :id => 'search_field' %>
            </p>
        <td>
            <p>
              Expand Contract Period:
              <%=  select_tag 'c_end_date', options_for_select([["Current Subcontracts", "1"],["Past 5 Years", "2"], ["All", "3"]],{:mutiple => false}) %>
              <%= submit_tag "Update", :name => nil %>
              <%= link_to_function "Clear", "$('search_field').clear()" %>
              <%= link_to 'Export To Excel',:action=>'active_subcontracts_to_excel',  :format=> 'excel'  %>

              </p>
        </td>
          <% end %>
        </td>            
      </tr>          
    </table>

我想要做的是将'c_end_date'和'search'数据传递给控制器​​。不确定link_to是否正确。

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

您的html无效:在您的表单标记上方的td之间,您将在表单标记内启动另一个td,其中开头td尚未关闭。这可能会破坏你的形式。试着完全取出那个td。