8

在我的 _form.html.erb 文件中,我有;

<%= form_for(@document) do |f| %> 
<% end %>

当我添加

<%= form_for(@document), :remote => true do |f| %> 
<% end %>

我得到一个错误。我想在这个表单中添加 ajax 以便用户可以提交它,它会出现一个保存“已保存”的通知,然后用户可以在表单内的 textarea 中继续写入。

错误说:

SyntaxError in Documents#edit

Showing /app/views/documents/_form.html.erb where line #1 raised:

<%= form_for(@document), :remote => true do |f| %>

意思是第 1 行(上图)是一个语法错误。

如何将远程 true 添加到 form_for 以便添加 Ajax?

更新

所以在这两个答案中,我有;

<%= form_for(@document, :remote => true) do |f| %>

<%= form_for @document, :remote => true do |f| %>

他们都工作,但一个比另一个更好,还是他们最终做同样的事情?

4

3 回答 3

16

:remote = true在参数列表之后插入了右侧。把括号去掉就行了。

<%= form_for @document, :remote => true do |f| %> 
于 2012-12-15T14:25:52.683 回答
2
<%= form_for(@document, :remote => true) do |f| %>
  ...
<% end %>

冷藏这个:http ://apidock.com/rails/ActionView/Helpers/FormHelper/form_for

于 2012-12-15T14:35:27.010 回答
0

您还可以使用命名空间

<%= form_for [:namespace, @document], html: { help: :block }, remote: true do |f| %>
  ...
<% end %>
于 2021-02-15T10:58:02.477 回答