使用AJAX的Rails和远程表单

时间:2015-01-24 21:10:41

标签: jquery ruby-on-rails ajax forms ruby-on-rails-4

我真的很难创建一个遥控器=>在轨道中的真实形式4.似乎每次我修复一个问题,其他东西都会破坏。

我使用的是simple_form,以下是我的表单代码:

#agent_confirm_modal.small.reveal-modal{"data-reveal" => ""}
= simple_form_for  [:customer, @agent_confirm], :url => create_agent_confirm_customers_path, remote: true, html: {class: :ajax_form, :'data-type' => 'json'} do |f|
    .row
        .sub-headline-secondary
            .padding-16-balanced-bottom
                = "Agent Confirmation"

        .error

        .col-1-1-1.padding-16-all

            .padding-12-bottom
                = f.input :detail_verification, as: :boolean, label: "I have confirmed/updated the customer's details"

            .padding-12-bottom
                = f.input :document_verification, as: :boolean, label: "I have confirmed/updated the customer's documentation"

            %a.close-reveal-modal= "×".html_safe

        .padding-16-all.margin-gutter-bottom
            = f.button :submit, "Submit", class: "button right tiny radius"

在我的控制器中:

 respond_to :json,  only: [:create_agent_confirmation]     

    def create_agent_confirmation
 if @agent_confirm.validate(params[:agent_confirm])
    @agent_confirm.save
    render ajax_redirect_to(root_path)
  else
    respond_with(@agent_confirm, status: :unprocessable_entity)
  end
end

我的Coffescript:

$(document).ready ->
 $(".ajax_form").on "ajax:error", (e, xhr, status, error) ->
 $(".error").append "<p>ERROR</p>"

当我选中两个复选框并提交表单时,会在我的模型中创建一条记录,但两个复选框值都设置为false。这样做的原因是(通过Firebug)表单以4个属性发布。每个复选框都有2个,每个复选框的第一个值为false(此值提交给数据库)。

有人知道如何解决这个问题吗?

0 个答案:

没有答案