预先填充表单,其中包含数据2

时间:2015-11-27 17:47:13

标签: ruby-on-rails ruby-on-rails-2 ruby-1.8.7

我在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],但我仍然得到一个空字段

2 个答案:

答案 0 :(得分:2)

问题是你是否为该字段提供了空白内容:

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

Rails不会根据字段名称自动获取实例变量,因此如果您的控制器定义了@username变量,则必须明确使用它:

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

答案 1 :(得分:0)

我不确定它是否在Rails 2中运行,但我会尝试做类似的事情:

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

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