在使用 rails 4.0 的form_for中选择值后,Coffeescript 不会显示警报

Coffeescript is not displaying alert after a value is selected in a form_for using rails 4.0

本文关键字:Coffeescript 显示 选择 rails for form      更新时间:2023-09-26

我正在使用form_for :quote资源。 我想在第一个字段(collection_select)已更改时执行操作。 我也在使用fields_for :bikes has_many quotes

这是我现在的代码:

quotes/new.html:

<% provide(:title, 'New Quote') %>
<h1>Get a Quote</h1>
<div class="row">
  <div class="span6 offset3">
    <%= form_for @quote do |f| %>
        <% if object.errors.any? %>
            <div id="error_explanation">
                <div class="alert alert-error">
                    The form contains <%= pluralize(object.errors.count, "error") %>.
                </div>
                <ul>
                    <% object.errors.full_messages.each do |msg| %>
                        <li>* <%= msg %></li>
                    <% end %>
                </ul>
            </div>
        <% end %>
        <%= f.fields_for :bikes do |builder| %>
            <%= f.label :make, 'Make' %>
            <%= f.collection_select :make, Bike.unique_by_make, :id , :make %>
            <%= f.label :model, 'Model' %>
            <%= f.text_field :model %>
            <%= f.label :year_manufactured, 'Year' %>
            <%= f.date_field :year_manufactured %>
        <% end %>
        <%= f.submit "Show Quote", class: "btn btn-large btn-primary" %>
    <% end %>
  </div>
</div>
<%= link_to 'Back', quotes_path %>

报价.js.咖啡(更新):

ready = ->
    $('#quote_bikes_make').change ->
        chosen = $(this).find(":make")
        alert chosen.data("desc")
$(document).ready(ready)
$(document).on('page:load', ready)

我正在使用#quote_bikes_make因为我在渲染的 HTML 中看到了这一点:select id="quote_bikes_make"

@mu太短是正确的,因为我需要将咖啡脚本放在一个准备好的钩子中(请参阅上面的更新代码)。 然而,仅凭这一点并不能解决问题。 我安装了 jquery-turbolinks gem,它做到了。