如何创建AJAX按钮?

时间:2013-11-02 07:17:30

标签: javascript ruby-on-rails ajax jquery

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

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

在代码块“app / views / users / new.html.haml”的最后一行中,我需要将form.button更改为An ajax按钮。我在项目中包含了jQuery。我该怎么编码呢?当你回答时,请考虑我的初学者!

先谢谢你! (-_ ^)


这是路线:

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

这是我的app / views / users / 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

1 个答案:

答案 0 :(得分:1)

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

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

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