我是新手在Rails中使用AJAX(我知道......我知道......),并且肯定我做错了什么可能只是错误的调用或者某事。但我已经找到了,似乎无法找到它。
无论如何,我正在快速部分渲染(这是正常的),然后我想用AJAX调用刷新它。以下是我认为可行的方法:
<div id="two_on_two"><%= render :partial => "quickread" %></div>
<p><%=link_to_remote "load two new stories", :url => {:partial => 'quickread'}, :update => 'two_on_two' %></p>
只是吹出页面(快速闪烁然后只是一个空白的浏览器窗口)。如果我在AJAX调用中从:partial切换到:action,那么它会在该two_on_two div中动态加载“模板缺失”。
显然,我在这里很容易找到一些东西,对吗?
非常感谢你!
答案 0 :(得分:2)
首先,阅读api:
http://apidock.com/rails/ActionView/Helpers/PrototypeHelper/link_to_remote
您应该正确指定您的网址(控制器,操作,其他参数,而不是部分!)并在控制器操作中定义您的RJS。
IE: index.html.erb
<div id='two_on_two'></div>
link_to_remote 'Link Name', :url => {:controller => "bar", :action => "baz"}
bars_controller.rb
def baz
respond_to do |format|
format.js{ render :update do |page|
page.replace_html 'two_on_two', 'Hello world!'
end}
end
end
因此,当您单击“链接名称”时,在您的two_on_two div中将显示“Hello world text”。