我最近加入了工作,并在轨道上获得了项目。我对rails,js和ajax很新。我在view / developer文件夹中有一个文件名update.js.coffee。我有developer_controller,其中定义了更新操作,根据其他元素的更改,使用ajax更新特定表单元素的值。
我正在使用完成以下工作的咖啡文件
我的update.js.coffee
文件及其位置\app\views\developer
:
$("#typhos_platform_dev").empty().append("<%=escape_javascript(
render(:to_partial_path => @platforms, :partial => "platforms" )) %>")
正如我所知,我们正在访问部分“平台”中的@platforms
。请注意,@platforms
已在动作更新中定义,部分平台已在index.html.erb中呈现。部分函数取@platforms的值并将其打印在下拉列表中。
在运行rails服务器时,我注意到咖啡文件甚至没有被执行,因为它无法识别@platforms
实例变量,因此部分抛出错误。
如何访问咖啡变量??
(因为我没有找到关于在视图中创建的咖啡文件的问题。我发现的所有问题都与资产管道有关。)
答案 0 :(得分:0)
当您在rails中进行ajax调用时,调用应该转到您的控制器执行您正在调用的操作然后将响应发送到位于views / controller /
中的javascript.erb文件所以,如果你要对developer_controller中的动作update_dropdown进行ajax调用,那么你需要一个js文件
视图/开发者/
名为update_dropdown.js.erb的目录。然后您应该可以访问所有实例变量
我发现 this article 有帮助