使用rails学习/重新学习ajax。我认为rails-ajax在过去几年中发生了很大的变化,所以没有找到一个非常简单的'Hello World'类型ajax示例(没有资源,没有记录)。
这是一个尝试(下面)在简单的rails ajax示例基于我可以找到的引用。 它工作 - 但是,它似乎有点麻烦(即ajax请求操作的一对一.js文件)。有没有人想过改进(更优雅)的导轨ajax'Hello World'?
---------------------
View - 'edit.html.erb'
<div id="div_msg">
<%= link_to "Wow",
{:controller=>"rectangle_set_model" , :action=>'ajax_msg' , :id=>'1'},
:remote => true,
:class => 'link1',
:update => "div_hello",
:id => 'link1'
%>
</div>
<div id="div_hello">
</div>
---------------------
Controller - 'rectangle_set_model_controller.rb'
def ajax_msg
@msg1 = "Buenos Dias!"
respond_to do
|format|
format.html
format.js
format.xml
end
end
---------------------
Javascript (corresponding to ajax_msg format.js in controller)
- 'ajax_msg.js'
$('#div_hello').html("<%= controller.msg1 %>");
---------------------
答案 0 :(得分:0)
为什么要渲染JS视图?
只需使用UJS和标准的Ajax调用即可。 You Rails操作可以呈现JSON:
format.js { render :json => { :text => "Hello the world" } }
// application.js
// jQuery
// in $(document).ready(function()...) or $("#my_button").click(function()...)
//
$.ajax({
url: "/home/hello",
success: function(response) {
$("#div_hello").html(response.text);
}
});
答案 1 :(得分:0)
谢谢你们
塞缪尔 - 由于某种原因不能正常工作
每当我启用此行
format.js {render:json =&gt; {:text =&gt; “你好世界”}}
然后我在浏览器中遇到错误(在操作链接上)
浏览器弹出错误--------&gt;预期';'
是