gpt4 book ai didi

javascript - 如何使用 ROR 从 Controller 操作调用 javascript 函数

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:33 25 4
gpt4 key购买 nike

有人能帮我解决一个小问题吗?实际上我想从 Controller 操作方法调用一些 javascript 函数。我写了一些代码但它不起作用。因为我对 ROR 完全陌生可能是我做错了某处。请检查我下面的代码片段并修改它们以成功运行它们。

我的代码片段如下。

views/users/index.html.erb:

<center>
<h1>....Testing...</h1>
<p>
<a href="/users/browser"><button type="button">Check Browser</button></a>
</p>
<p>
<a href="/users/time"><button type="button">Check Time</button></a>
</p>
</center>

controller/users_controller.rb:

class UsersController < ApplicationController
def index

end
def browser
respond_to do |format|
format.js{render :js => "my_browser();"}
end
end
def time
respond_to do |format|
format.js{render :js => "my_time();"}
end
end
end

应用程序.js:

function my_browser(){
console.log('my browser function');
var objOffsetVersion;
if (objOffsetVersion=navigator.userAgent("chrome") != -1) {
objOffsetVersion="chrome"
};
alert(objOffsetVersion) ;
}
function my_time(){
var d = new Date();
var currtime = d.getHours() * 100 + d.getMinutes();
alert(currtime);
}

路线.rb

Jscript::Application.routes.draw do
root :to => "users#index"
get "users/browser" => "users#browser"
get "users/time" => "users#time"
end

请帮助我..提前致谢

最佳答案

尝试更改您的链接以使用 js 格式,因为您专门告诉您的 Controller 通过 format.js block 处理 js:

<center>
<h1>....Testing...</h1>
<p>
<a href="/users/browser.js"><button type="button">Check Browser</button></a>
</p>
<p>
<a href="/users/time.js"><button type="button">Check Time</button></a>
</p>
</center>

作为替代方案,您可以告诉 rails 始终在 Controller 中为所有格式呈现 js:

class UsersController < ApplicationController
def index
end

def browser
render :js => "my_browser();"
end

def time
render :js => "my_time();"
end
end

希望这能提供一些帮助。

关于javascript - 如何使用 ROR 从 Controller 操作调用 javascript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28404547/

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