使用remote:true提交form_for后刷新部分

时间:2012-10-18 05:07:46

标签: jquery ruby-on-rails ruby ajax ruby-on-rails-3

我在侧栏中有一个表单,当表单提交时,我需要刷新侧边栏中的特定部分,而不是整个页面。 partial上有一个div id =“class-id”。

partial.html.haml

- if class
 // display some stuff
- else
  = form_for [Class.new], remote: true do |f| 
    .field
      = f.label :description
      = f.text_field :description      
    .actions
      = f.submit

我需要在提交完成后重新加载此部分,以便访问第一个if。

由于

1 个答案:

答案 0 :(得分:3)

例如,创建一个视图文件作为您的操作名称。 - 假设您的操作名称为create user controller,然后在view/users文件夹中创建文件create.js.erb,并在该文件中写下以下代码。

对于jquery

$('class or id name').html("<%= escape_javascript render(:partial => 'whatever your your partial') %>")

原型

page.replace_html "class or id name", :partial => "whatever your partial to update"