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