【问题标题】:prepopulate form with data in rails 2用 Rails 2 中的数据预填充表单
【发布时间】:2015-11-27 17:47:12
【问题描述】:

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

【问题讨论】:

  • 表单的上下文是什么?能否提供相关的控制器代码?

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


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

    当然,在呈现这个视图的控制器动作中你需要提供@user

    【讨论】:

      猜你喜欢
      • 2013-03-08
      • 2012-08-14
      • 1970-01-01
      • 2015-03-17
      • 2017-06-25
      • 1970-01-01
      • 2018-02-01
      • 2015-06-24
      • 1970-01-01
      相关资源
      最近更新 更多