使HTML变量可用于Rails渲染中的JavaScript

Making HTML variable available to JavaScript in Rails render

本文关键字:JavaScript Rails HTML 变量 用于      更新时间:2023-09-26

Ruby 2.0.0,Rails 4.0,3

在我的形式中,我有这样的渲染:

<%= render partial: "makes", locals: {form: 'new_admin_car', car_id: car_id} %>

我需要访问car_id变量,如下所示:

var car_id  = $('select#car_ymm_year_id').attr("car_id");

触发器触发,但car_id未定义。显然,它不能作为局部变量使用。我需要做哪些更改才能访问它?

谢谢。。。

有时你必须问别人这个问题,这样你才能找到答案。这里的情况确实如此。

当我问这个问题并在后来思考时,我意识到了正在发生的事情的基本原理。传递Render以生成正在引用的HTML。因此,HTML部分就是我需要设置变量的地方。

根据使用的具体实现方式,该技术会有所不同。在我的情况下,我使用simple_form。因此,我在分部中的输入语句中添加了以下内容。

{input_html: {form: form, car: car, car_id: car.id}, ... }

这使得car_id在事件被触发时可用于JS。