使用 rails 中的数据预填充表单 2

prepopulate form with data in rails 2

我的 rails 2 应用程序中有一个包含一些字段的表单,我想预填充之前输入的值。参数值在 url

这是表单的代码:

<% form_tag({:controller => "articles", :action => "search"}, :method => "get") do %>
    <%= label_tag("start_date") %>
    <%= text_field_tag("start_date","", :type => "date") %>

    <%= text_field_tag "username", "", :placeholder => "username" %>
    <%= text_field_tag "email", "",  :type => "email" %>

    <%= select_tag "status", options_for_select([["status", ""],"approved", "unchecked"])%>

    <%= submit_tag("Search") %>
  <% end %>

我已经尝试在控制器中使用 @username = params[:username],但我仍然得到一个空字段

我不确定它是否在 Rails 2 中工作,但我会尝试做这样的事情:

 <%= text_field_tag "username", :placeholder => @user.name %>

当然,在呈现此视图的控制器操作中,您需要提供 @user

问题是您为该字段提供了空内容:

<%= text_field_tag "username", "", :placeholder => "username" %>

Rails 不会根据字段名自动获取实例变量,所以如果你的控制器定义了一个 @username 变量,你必须显式地使用它:

<%= text_field_tag "username", @username, :placeholder => "username" %>