gpt4 book ai didi

javascript - 如何在 coffeescript js 中使用 Rails 助手

转载 作者:行者123 更新时间:2023-11-29 10:50:20 24 4
gpt4 key购买 nike

我不太明白助手在 View / Controller 中是如何工作的。我从未使用过它们。

我的具体问题是:我几乎所有的 View 都实现了 AJAX。在我的大多数 Controller 中,update.js.coffeecreate.js.coffee 具有以下代码的某种形式:

jQuery ->
<% if @product.errors.any? %>
error_info = '<%= j(render :partial => "shared/errors", :locals => { :record => @product }) %>'
popup error_info

<% else %>
.
.
.

其中 popup 是一个用于显示某些元素的 javascript 函数。

有没有办法将它抽象成一个助手?做这个的最好方式是什么?此代码几乎在所有情况下都完全相同,除了 @product 的 2 次使用当然会根据所讨论的模型而有所不同。

如果这不是助手的用途,那么 1) 它们的用途是什么? 2) 我应该改用什么?

编辑:奖金问题:实际上,我的许多新建、创建、编辑和更新功能在各个模型中都是相似的。你怎么弄干这个?还是您根本不担心?

最佳答案

第一步是将文件的扩展名更改为.js.coffee.erb。这让 Assets 管道知道您希望使用 ERB 解释文件。

第二个可选步骤是向 Sprokets 添加自定义助手,以便您可以从 Coffee 脚本文件中调用自己的方法*。只需创建一个新的辅助模块,然后在初始化程序中注册它:

Sprockets::Context.send :include, CoffeeHelper

*: Assets 将无法访问您习惯使用的所有帮助器,因为 ERB 是在编译 Assets 时运行的,而不是作为 HTTP 请求的一部分运行的。不存在正常的 Controller /助手设置。

关于javascript - 如何在 coffeescript js 中使用 Rails 助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11425515/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com