【发布时间】:2019-11-29 04:57:08
【问题描述】:
在 RoR 项目中 -> 视图 -> ... -> create.js.coffee 代码
$("<%= j(render partial: 'invoice_equipment/invoice_equipment', object: @invoice_equipment) %>").appendTo("#invoice_equipment_list")
总是执行,不依赖于之前的条件。
在这个文件中,我想为用户显示一些消息,如果他尝试创建记录,那么数据库中已经存在。
如果从文件中删除该行,另一个js逐行正常工作。
所有文件:
if "<% @invoice_equipment %>"
$("<%= j(render partial: 'invoice_equipment/invoice_equipment', object: @invoice_equipment) %>").appendTo("#invoice_equipment_list")
M.toast({html: "<%= I18n.t('invoice_equipment.added') %>", displayLength: 3000, classes: 'rounded'})
else
M.toast({html: "<%= I18n.t('invoice_equipment.already_added') %>", displayLength: 3000, classes: 'rounded'})
$('#new_invoice_equipment')[0].reset()
$('#invoice_equipment_equipment').focus()
@invoice_equipment 可以是 nil 或 ActiveRecord。但是在这两种情况下,如果 @invoice_equipment 为 nil,RoR 都会尝试渲染部分并下降。
所以,我认为,在创建 js 文件之前执行注入的 ruby 代码。
我是对的?
【问题讨论】:
标签: ruby coffeescript