如何创建 AJAX 按钮

How to create an AJAX button?

本文关键字:AJAX 按钮 创建 何创建      更新时间:2023-09-26

我是 ROR 编程的新手,我的问题可能看起来新手!

我有一个 Rails 项目。我需要在不刷新页面的情况下保存订阅者数据!

在代码块"app/views/users/new.html.haml"的最后一行中,我需要将form.button更改为ajax按钮。我已经在项目中包含了jQuery。我应该如何编码?当您回答时,请考虑IM初学者!

提前谢谢你!(-_^)


这是路线:

users_new GET  /users/new(.:format)    users#new
users     GET  /users/index(.:format)  users#index
create    POST /users/create(.:format) users#create

这是我的应用程序/视图/用户/new.html.haml:

.form1
  %h1
    Subscriber
  =form_for @user, :url => :create do |form|
    - unless @user.errors.empty?
      - @user.errors.full_messages.each do |message|
        .alert.alert-danger
          %ul
            - @user.errors.full_messages.each do |message|
              %li= message
    %div
      .row.form-group
        .col-lg-3
          %label
            Email:
          =form.text_field :email, :class => 'form-control'
      .row.form-group
        .col-lg-3
          %label
            Name:
          =form.text_field :name, :class => 'form-control'
      .row.form-group
        .col-lg-3
          %label
            Phone Number:
          =form.text_field :phone_number, :class => 'form-control'
      .row.form-group
        .col-lg-3
          %label
            Address:
          =form.text_field :address, :class => 'form-control'
      %div=form.button 'Save', :class => 'btn btn-primary'

这是app/controllers/users_controller.rb:

 class UsersController < ApplicationController
   def index
   end
   def new
     @user = User.new
   end
   def create
     @user = User.new params[:user]
     @user.save
     redirect_to users_new_path
   end
 end

要将表单变成ajax表单,您需要做的就是将远程选项设置为true,这将使用ajax自动发送表单:

=form_for @user, :url => :create, :remote => true do |form|

您还需要创建一些响应。这是关于这个主题的一个很好的轨道广播:http://railscasts.com/episodes/136-jquery-ajax-revised