form_with и стимул с hotwire не работают (Rails 7)

Выберите поле с form_with, Stimulus и Hotwire и Rails 7

Я хочу видеть сообщение в консоли, как только я изменю выбранное значение. Я использую Hotwire и Rails 7, но это не работает.

Код.

  • _form.html.erb
      <%= form_with model: [@framework, @framework.criteria.build] do |form| %>
  <div>
    <%= form.label :criteria_name %>
    <%= form.text_field :criteria_name, class: "rounded-md border border-pbgray-medium w-full mb-2" %>
  </div>

  <div data-controller="answer">
    <div>
      <%= form.label :type_answer %>
      <%= form.select :type_answer, [["Multiple Choice", 1], ["Single choice", 2], ["Text-box", 3]], {data: { action: "change->answer#my_method"}} %>
    </div>
  </div>

    <p data-action="click->answer#my_method">Click me!!</p>
  <div>
    <%= form.submit %>
  </div>
<% end %>

  • answer_controller.js
      import { Controller } from "@hotwired/stimulus"

export default class extends Controller {
  my_method() {
    console.log("Hello new World");
  }
}

1 ответ

Неважно, я нашел проблему:

Решение.

<%= form.select(:type_answer, [["Multiple choice", 1], ["Text-box", 2]], {}, { :class => 'some-class', :data => {:action => "click->answer#my_method"} }) %>

Другие вопросы по тегам