提交ruby表单后重置字段的值

时间:2012-11-16 11:08:16

标签: ruby-on-rails

我根据输入的日期搜索字段。

问题是每当我提交表单时,搜索结果都会很好,但搜索字符串会在页面重新加载时从字段中消失。

任何人都可以告诉我如何在字段中保留搜索字符串。

我使用ruby表单,下面是代码..

<%=form_for :messages, url: url_for( :controller => :time_sheets, :action => :late ), :html => { :id => "submitForm1" } do |f| %>
        <div class="field">
             <tr>   
                <td> From Date <%= f.text_field :leaveFrom, :id => 'datepicker2', :class => 'phcolor','data-validation' =>'required', :readonly => true %></td>
                <td> To Date <%= f.text_field :leaveTo, :id => 'datepicker7', :class => 'phcolor', :readonly => true %></td>
                <td >Late Time<%= f.text_field :on_duty, :id => 'timepicker5' %></td>
                <div class="actions">
                  <td style="position: absolute;right: 178px;"><input type="button"  class="btn btn-primary" id="submitid" tabindex="7" value="Go"></td>
                </div>
            </tr>
        </div>
<% end %>

2 个答案:

答案 0 :(得分:1)

您的代码form_for :messages表明存在一个实例变量@messages,它保存表单中字段的数据。是否有效@messages

如果您没有消息模型,我想到一个简单的解决方法。您可以将其添加到操作中:

@messages = OpenStruct.new(params[:messages])

或者,只需将form_for替换为form_tag,然后设置params中每个字段的值。 form_for“在特定模型对象周围创建一个表单和范围,用作查询字段值的基础。”,这里不适用。

答案 1 :(得分:1)

如果您的表单与任何模型无关,请使用form_tag助手等。然后您会执行以下操作:

<%= text_field_tag :leaveFrom, params[:leaveFrom], :id => 'datepicker2', :class => 'phcolor','data-validation' =>'required', :readonly => true %>