从rails控制器调用javascript
我已经开始在rails上工作,我正在尝试从rails控制器调用javascript从rails控制器调用javascript,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,我已经开始在rails上工作,我正在尝试从rails控制器调用javascript 结构如下 应用程序/控制器/ 你好_controller.rb def搜索 //调用show.js.erb 结束 app/views/hello/show.js.erb 基本上我想从javascript调用html文件(div标记) 关键是我不想在页面打开时执行任何操作,只想在点击show按钮时运行javascript 同一点-写入控制器 respond|to do |格式| format.html{ } for
结构如下
应用程序/控制器/
你好_controller.rb
def搜索
//调用show.js.erb
结束
app/views/hello/show.js.erb
基本上我想从javascript调用html文件(div标记)
关键是我不想在页面打开时执行任何操作,只想在点击show按钮时运行javascript
同一点-写入控制器
respond|to do |格式|
format.html{
}
format.js{呈现模板:'show',布局:false}
结束
我在show.js.erb中写道
警惕(“你好”)
不工作类HelloControllerclass HelloController < ApplicationController
def search
respond_to do |format|
format.js{ render template: 'show', layout: false }
end
end
end
def搜索
回应待办事项|格式|
format.js{呈现模板:'show',布局:false}
结束
结束
结束
最简单的方法如下:
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
在控制器中,将类似这样的代码放入应用程序中
respond_to do |format|
format.js # actually means: if the client ask for js -> return file.js
end
您想为HTML请求或只是AJAX请求显示这一点吗?我需要在任何地方提到一些路径吗?