如何用数据预加载表单(新操作),然后在Ruby on Rails中提交

How to pre-load form (new action) with data to be then submitted in Ruby on Rails?

本文关键字:然后 on 提交 Rails Ruby 操作 数据 何用 加载 表单 新操作      更新时间:2023-09-26

我想将用户当前正在查看的页面(如果可能的话)的文本"发布"到rails中的"新"操作中,以便它可以预加载给定字段供用户在提交表单之前查看。我不确定 ajax 帖子是否可以提供帮助。由于 IE 的字符限制,使用查询字符串对"new"的 GET 调用将不起作用。谢谢。

使用 :value 属性:

<%= f.text_field :name, :value => @default_name %>

然后(例如)发布你需要的变量link_to

<%= link_to "Form", form_path, :method => :POST, :default_name => "Bob" %>

或者(另一个例子)使用javascript(jQuery):

**AJAX 帖子将不起作用,因为页面不会被重定向。您将需要模拟表单帖子。

<a href="" id="form_link">Form Page</a> // link to form page
<form id="form" action="http://example.com/form" method="POST">  // hidden form
    <input type="hidden" name="default_name" value="Bob" />  
</form>

$("#form_link").click(function() {  // jQuery to submit the form when the link is clicked
  $("#form").submit();
});

名称字段将预先填充"Bob"。当然,在控制器操作中需要以下内容:

@default_name = params[:default_name]