自动填写Rails中的表单字段?

时间:2009-12-08 01:47:25

标签: ruby-on-rails forms

假设您有一个简单的表单来在您的应用程序中创建新的文章对象。

<% form_for @article do |f| %>
<p>
  name:<br />
  <%= f.text_field :name  %>
</p>
<p>
  link:<br />
  <%= f.text_field :link %>
</p>

<p>
  <%= submit_tag %>
</p>

我正在使用RSS提要解析器Feedtools来获取文章名称,但我似乎无法从其他地方可访问的数据中自动填写表单字段。假设可以通过params[:name]访问文章的名称。如何在不需要用户输入的情况下将params[:name](或params[:link]的文章)的名称从表格字段中获取?我不想自动创建文章对象,因为用户可能想稍微修改名称。

1 个答案:

答案 0 :(得分:11)

如果您将要显示的信息传递给Article操作中的new构造函数,则表单将填充。即使已经实例化了一个新对象,它也不会持久保存到db,因为在任何时候都没有调用save方法。这将在创建动作中发生。

def new
  @article = Article.new :name => "Steve Graham's insane blog", :link => "http://swaggadocio.com/"

  respond_to do |format|
    format.html # new.html.erb
    format.xml  { render :xml => @post }
  end
end

在不了解您的应用逻辑的情况下,我无法再提供有关如何将部件拼接在一起的帮助。这应该会让你几乎在那里。