首页 > 解决方案 > 如何使用刺激远程 true 提交 simple_form

问题描述

我有一个非常简单的表格

  span data-controller='reassignment'
    = simple_form_for some_model, remote: true, html: {'data-target': 'reassignment.form'} do |f|
      = f.association :user,
        collection: User.all,
        label: false,
        include_blank: 'Unassigned',
        input_html: { \
          "data-target": "reassignment.user", \
          "data-action": "change->reassignment#submitForm" \
          }

现在我的刺激看起来像

import { Controller } from 'stimulus'

export default class extends Controller {

  static targets = ['user', 'form']

  submitForm(){
    this.formTarget.submit()
  }

  onPostSuccess(event) {
    console.log("success!")
  }
}

表单提交但它不尊重remote: true.

标签: ruby-on-railssimple-form-forstimulusjs

解决方案


这应该可以解决问题。

import { Controller } from 'stimulus'
import Rails from "@rails/ujs"

export default class extends Controller {

  static targets = ['user', 'form']

  submitForm(){
    Rails.fire(this.formTarget, 'submit')
  }

  onPostSuccess(event) {
    console.log("success!")
  }
}

推荐阅读