从rails控制器调用javascript

calling javascript from rails controller

本文关键字:javascript 调用 控制器 rails      更新时间:2023-09-26

我已经开始在rails上工作,我正试图从rails控制器调用javascript
结构如下

app/controllers/ hello_controller.rb
def search
//calling show.js.erb
end app/views/hello/show.js.erb

基本上我想调用一个html文件(div标签)从javascript

The point is i want to do nothing when the page is opened , but to run the javascript when show button is hit
同一点写入控制器

respond_to do |format| format.html{ } format.js{ render template: 'show', layout: false } end

和show.js.erb中警报("Hello");

最简单的方法如下:

def search
  @var = Model.where(name: params[:search]) # will be available in search.js.erb
  respond_to :js # will try to render search.js.erb in views/hello/
end

你可以渲染自定义js文件:

def search
  # some code..
  respond_to :js { render 'show' }
end
class HelloController < ApplicationController
  def search
   respond_to do |format|
     format.js{ render template: 'show', layout: false }
   end
  end
end

在你的控制器中输入类似这样的代码来配合你的应用程序

respond_to do |format|
  format.js # actually means: if the client ask for js -> return file.js
end