我正在尝试使用 Ajax 为 Rails 3.2 应用程序创建更新表单。我是 Ajax 初学者,所以我需要一些指导。我想要实现的是:
1. The user presses a button and a form slides down from the top in a div.
2. The user updates the form and presses "update".
3. The parameters from the updated form is sent and saved to the database, and
4. the form slides up again without making the user leave the page.
目前的表格如下所示:
<%= form_for(@user, :remote => true) do |f| %>
<%= render 'shared/error_messages' %>
<%= f.fields_for :oak do |oak| %>
<%= oak.text_field :name, :placeholder => "Name" %>
<% end %>
<%= f.fields_for :energy_meter do |energy_meter| %>
<%= energy_meter.text_field :energy_meter_id, :placeholder => "Id" %>
<% end %>
<%= f.submit "Update!", "data-role" => "button", "data-theme" => "b", "return" => "false" %>
<% end %>
我有一个当前看起来像这样的更新操作:
def update
@user = current_user
@user.update_attributes(params[:user])
end
它位于我的用户控制器中。
我还有一个 update.js.erb 文件,目前看起来像这样:
$(window.location.replace("/"))
我不知道我应该把 update.js.erb 做什么我想做的事,也不知道如何发送参数,它目前只重定向到 /
. 我还想知道我应该在更新操作中的位置和内容,它当前位于 UsersController 中,但它应该位于我的表单所在的 PagesController 中吗?
任何提示或指导都会很棒!
谢谢。