假设您有一个简单的表单来在您的应用程序中创建一个新的文章对象。
<% 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]
就此而言)进入表单字段而无需用户输入?我也不想自动创建文章对象,因为用户可能想要稍微修改名称。
最佳答案
如果您将要显示的信息传递给 Article
new
中的构造函数 Action ,表单将呈现填充。即使一个新对象已经被实例化,它也不会被持久化到数据库中,因为从来没有在它上面调用过 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
在不了解您的应用程序逻辑的情况下,我无法再提供有关如何将各个部分拼接在一起的帮助。不过,这应该能让你接近目标。
关于ruby-on-rails - 在 Rails 中自动填写表单字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1864100/