无法在collection_select Rails 6

问题描述

我是Stimulus JS的新手。我有点想使用collection_select以一种形式(用rails g支架创建)触发简单事件。

这是我的dropdown-controller.js(刺激)文件

import { Controller } from "stimulus"

export default class extends Controller {
  static targets = ["target"];

  handleChange() {
    console.log('works!')
  }
}

这是我的_forms.html.erb文件

<%= form_with(model: stock_order,local: true) do |form| %>
  ...

  <section data-controller="dropdown">
    <div class="field">
      <%= form.label :company_id %>
      <%= form.collection_select :company_id,Company.all,:id,:name,data: {action: "change->dropdown#handleChange"} %>
    </div>
  </section>

  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>

我尝试了很多事情:

<%= form.collection_select :company_id,data: {action: "change->dropdown#handleChange"} %>

<%= form.collection_select :company_id,{data: {action: "change->dropdown#handleChange"}} %>

<%= form.collection_select :company_id,data: {action: "dropdown#handleChange"} %> ...等

如果我使用html select标记而不是rails的console.log('works!),则只能解雇collection_select。如果创建测试按钮或使用form.check_Box,则会触发该事件。

有什么想法吗?抱歉,这是一个愚蠢的问题,我没主意了。

谢谢!

解决方法

Thread 1 hit Breakpoint 1,network::TcpListener::nonBlockingNext (this=0x640f840) at test/../src/NetworkConnection.hpp:40 40 unique_ptr<TcpSocket> new_socket (new TcpSocket) ; (gdb) n 41 listener.setBlocking(false); (gdb) 42 if( listener.accept(*new_socket) == ::sf::Socket::Status::Done) (gdb) 44 new_socket->setBlocking(false); (gdb) 45 std::cout << "Connection established! " << new_socket.get() << "\n"; (gdb) Connection established! 0x6526340 46 return std::move(new_socket); (gdb) 40 unique_ptr<TcpSocket> new_socket (new TcpSocket) ; <<<<<<--------- here (gdb) 49 } (gdb) network::ConnectionReception::processNextIncoming (this=0x640f840) at test/../src/NetworkConnection.hpp:79 79 std::cout << " and then " << new_socket.get() << "\n"; (gdb) and then 0 80 if( !new_socket ) return false; (gdb) 是html属性,因此您在data-调用中错过了一个参数

form.collection_select

请参见the method description

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...