Rails 5 UJS:如何指定单个js文件以供执行

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Rails 5 UJS:如何指定单个js文件以供执行相关的知识,希望对你有一定的参考价值。

我有多个使用相同js的动作。

def say_hello
 puts 'hello'
 respond_to :js
end

def say_hi
 puts 'hi'
 respond_to :js
end

#hello.js.erb
toast.success('Success!')

#hi.js.erb
toast.success('Success!')

如何指定执行后运行一个js.erb文件的所有操作?

#universal.js.erb
toast.success('Success!')
答案

您可以在控制器方法中指定要呈现的视图。

调节器

def say_hello
  puts 'hello'
  respond_to do |format|
    format.js { render 'universal' }
  end
end

def say_hi
  puts 'hi'
  respond_to do |format|
    format.js { render 'universal' }
  end
end  

视图

#universal.js.erb
toast.success('Success!')

以上是关于Rails 5 UJS:如何指定单个js文件以供执行的主要内容,如果未能解决你的问题,请参考以下文章

让引导程序的按钮收音机与 Rails UJS(数据远程)配合得很好?

在 JS 模块中使用 Rails-UJS(带有 webpacker 的 Rails 6)

Rails 4 - 通过使用 AJAX UJS 的集合中的链接更新表

使用 ujs 手动提交远程表单的 Rails 方式

有没有办法缩小 Rails UJS 响应?

如何绑定到表单的 ajax:使用 JQuery/Rails UJS 在 typescript 中取得成功