【问题标题】:Rails 3 Rendering JS not doing anythingRails 3渲染JS没有做任何事情
【发布时间】:2011-01-17 20:45:44
【问题描述】:

我是一个巨大的初学者,我正在学习并练习使用 rails 3 和 RJS 请求。 我正在使用从教程中获得的以下内容进行 RJS 测试。

以下是我的 index.rhtml。在我的标题中,我注意到人们发布的标签,例如 javascript_include_tag 和 csrf_meta_tag

 <div id="rjs">I will be updated.</div>

下面这行肯定是不正确的。这可能是我的问题。我已经看到了不同的 rails 2 实现,但我读到在 Rails 3 中它已经改变并且似乎无法让它工作。我的网址是问题所在。我无法正确设置我的 url 语句,这可能是问题所在。

 <%= link_to "Test out RJS!", rjs_path(@rjs), :remote => true %>

我的 hello.rjs 文件有以下内容

page.replace_html "rjs", "<b>See!</b>"

我的控制器如下

class RjsController < ApplicationController
def hello
end

从我所遵循的指南中,当您单击链接时,应该将原来的“我将被更新”切换为“查看”,但在我的情况下,当我单击链接时没有任何反应 结束

是否有人可以帮助我解决我的 link_to 行,并可能给我一个解释,以及为什么它是这样写的。谢谢你

【问题讨论】:

  • 您使用的是 jQuery 和 jrails 还是 Prototype?执行该操作时是否有任何 JavaScript 错误?

标签: ruby-on-rails-3 rjs


【解决方案1】:

你能像这样在你的控制器上添加:respond_to吗?

class RjsController < ApplicationController   
  respond_to :js

  def hello   
  end

end

希望有效。

【讨论】:

    【解决方案2】:

    我正在使用 JQuery 和 JRails 并在 firefox 中检查它告诉我 JQuery 未定义。我以为我在 Rails 应用程序中正确设置了所有内容。对不起,我是该网站的新手。也把 respond_to :js 没有改变任何东西

    我的错误将我带到了我在为 JQuery 添加 Unbotrusive 脚本适配器的适配器时覆盖的 rails.js 的这一行

    })( jQuery );
    

    【讨论】:

    • 这可能更像是一个 Ajax 问题,但我不太确定,因为我是新手,但萤火虫会抛出 JQuery 未定义错误
    • 我通过将 添加到 application.html.erb 的标头中修复了 JQuery 未定义错误,但现在我没有收到任何错误,也没有任何反应
    猜你喜欢
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2012-09-07
    • 2016-10-02
    • 2013-09-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多