【发布时间】:2013-07-09 20:56:47
【问题描述】:
我现在只是想用 Rails 学习一点 jQuery。我在这里遵循示例:
Ideas on simple 'Hello World' Rails-Ajax Example?
我的观点是这样的: /views/main/ajax_msg.erb
<div id="div_msg">
<%= link_to "Wow",
{:controller=>"main" , :action=>'ajax_msg' , :id=>'1'},
:remote => true,
:class => 'link1',
:update => "div_hello",
:id => 'link1'
%>
</div>
<div id="div_hello">
</div>
我的控制器如下所示: /controllers/main_controller.rb
def ajax_msg
@msg1 = "Buenos Dias!"
respond_to do|format|
format.html
format.js
format.json
end
end
我的 javascript 文件如下所示: /views/main/ajax_msg.js
jQuery('#div_hello').html("<%= @msg1 %>");
我的 /views/layouts/application.html.erb 是这样开始的...
<!DOCTYPE html>
<html>
<head>
<title>SomeApp</title>
<%= stylesheet_link_tag "application", :media => "all" %>
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
</head>
我的 application.js 包含...
//= require jquery
//= require jquery-ui
//= require jquery_ujs
//= require_tree .
我的控制台日志显示:
Started GET "/main/ajax_msg?id=1" for 127.0.0.1 at 2013-07-09 21:44:57 +0100
Processing by MainController#ajax_msg as JS
Parameters: {"id"=>"1"}
Rendered main/ajax_msg.js within layouts/application (1.0ms)
Completed 200 OK in 19ms (Views: 19.0ms | ActiveRecord: 0.0ms)
通过查看其他人在相关问题上的问题,我尝试了许多不同的组合,但似乎没有任何效果。我尝试了以下方法: - 在 javascript 文件中使用 $ 而不是 jQuery - 将 javascript 放入 application.js - 在 stylesheet_link_tag 和 javascript_include_tag 之间切换顺序
我在这里错过了一些非常基本的东西吗?
谢谢。
【问题讨论】:
-
重命名 - ajax_msg.js.erb
-
@JoeHalfFace ,我已经进行了更改,但是在使用“@msg1”时,它似乎没有显示任何内容。但是我尝试了:按照下面评论的建议将'blah'放入,我可以在控制台日志中看到它......不知道为什么'@msg1'不起作用。有什么想法吗?
标签: ruby-on-rails jquery ruby-on-rails-3.2