gpt4 book ai didi

jquery - Rails Controller 操作未调用 Node.js 函数 - 找不到原因

转载 作者:行者123 更新时间:2023-12-01 04:54:44 25 4
gpt4 key购买 nike

我试图构建一个 home.js.erb 文件来匹配我的 Controller 操作 home.html.erb

我构建了它,并在 js 中进行了一个简单的警报调用,但它没有显示。当我复制/粘贴到另一个方法时,警报起作用。

我希望 js 能够与我的主操作一起使用

流程是:登录(通过 Facebook)=> 回家。没有按钮调用“Home”操作,因为我使用 Facebook 登录,该登录在 FB 将用户登录后通过 Javascript 上的重定向运行。

这是主页操作:

def home
respond_to do |format|
format.html
format.js
end

end

这是 home.js.erb:

$(function(){
alert("Hello");

});

最后是围绕 Controller 的路由,称为 session :

    resources :session 

match '/signin', :to => "session#signin"
match '/home', :to => "session#home"
match '/logout', :to => "session#logout"
match '/register', :to => "session#register"

如有任何帮助,我们将不胜感激!

最佳答案

如果我理解正确的话,您想在输入 home.html 时触发 home.js 警报,对吧?

如果是这种情况,您构建它的方式将不起作用,因为 home.js 和 home.html 将不会同时呈现。即当用户登录时, Controller 会打电话回家,格式为html。

我建议这样做:

将以下内容放在布局中所有 javascript 调用的下方。

<%= yield :javascripts -%>

并在 home.html.erb 中,添加到顶部:

<% content_for(:javascripts) do %>
<script type='text/javascript'>
<%= render :partial => 'session/home.js' %>
</script>
<% end -%>

注意:由于 home.js.erb 现在是部分文件,因此您必须重命名此文件:

_home.js.erb

希望对你有帮助!

关于jquery - Rails Controller 操作未调用 Node.js 函数 - 找不到原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15299244/

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