如何在页面重新加载后引用表单字段值以保留输入值?
How to reference form field values after a page reload to preserve input values?
我有以下 simple_form_for
日期选择器可以按到期日过滤发票。
当用户输入 start_date
和 end_date
并提交以过滤发票时,页面会重新加载并且表单字段会重置(显示“选择日期”占位符)。
如何引用这些字段的值,以便在页面重新加载时它们的值是之前选择的值? (他们现在在params
)。
我尝试添加 value: f.object.start_date
选项,但它似乎不起作用。
我也试过value: params[:date_params][:start_date]
也没成功。
<div class="col-md-6 my-2" >
<%= simple_form_for :date_params, { url: admin_invoices_batch_edit_index_path, method: :get } do |f| %>
<%= f.input :start_date, as: :string, placeholder: "Pick a start date",
input_html: { data:{ controller: "flatpickr",
attributes:{ enableTime: false, enableSeconds: false } } } %>
<%= f.input :end_date, as: :string, placeholder: "Pick an end date",
input_html: { data:{ controller: "flatpickr",
attributes:{ enableTime: false, enableSeconds: false } } } %>
<%= f.button :submit, "Filter" %>
<% end %>
</div>
在您的控制器操作中,获取参数值。
@start_date = params.has_key?(:date_params) ? params[:date_params][:start_date] : nil
@end_date = params.has_key?(:date_params) ? params[:date_params][:end_date] : nil
在您看来,将每个参数的值添加到 input_html
input_html: { value: @start_date ...
这将在可用时设置参数,否则将其保留为 nil。
我有以下 simple_form_for
日期选择器可以按到期日过滤发票。
当用户输入 start_date
和 end_date
并提交以过滤发票时,页面会重新加载并且表单字段会重置(显示“选择日期”占位符)。
如何引用这些字段的值,以便在页面重新加载时它们的值是之前选择的值? (他们现在在params
)。
我尝试添加 value: f.object.start_date
选项,但它似乎不起作用。
我也试过value: params[:date_params][:start_date]
也没成功。
<div class="col-md-6 my-2" >
<%= simple_form_for :date_params, { url: admin_invoices_batch_edit_index_path, method: :get } do |f| %>
<%= f.input :start_date, as: :string, placeholder: "Pick a start date",
input_html: { data:{ controller: "flatpickr",
attributes:{ enableTime: false, enableSeconds: false } } } %>
<%= f.input :end_date, as: :string, placeholder: "Pick an end date",
input_html: { data:{ controller: "flatpickr",
attributes:{ enableTime: false, enableSeconds: false } } } %>
<%= f.button :submit, "Filter" %>
<% end %>
</div>
在您的控制器操作中,获取参数值。
@start_date = params.has_key?(:date_params) ? params[:date_params][:start_date] : nil
@end_date = params.has_key?(:date_params) ? params[:date_params][:end_date] : nil
在您看来,将每个参数的值添加到 input_html
input_html: { value: @start_date ...
这将在可用时设置参数,否则将其保留为 nil。