假设您有一个简单的表单来在您的应用程序中创建新的文章对象。
<% 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]
的文章)的名称从表格字段中获取?我不想自动创建文章对象,因为用户可能想稍微修改名称。
答案 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
在不了解您的应用逻辑的情况下,我无法再提供有关如何将部件拼接在一起的帮助。这应该会让你几乎在那里。