您好我正在开发一个rails项目。我必须重新加载部分页面。
例如创建动作
def create
# Some transaction to the database
respond_to do |format|
format.html {render :text => 'Add post' }
format.js
end
end
在我的观点posts / create.js.rjs我想重新加载users / _login.html.erb文件 这包含帖子总数或帖子的大小,当它创建新帖子时应该重新加载部分页面_login.html.erb并显示帖子递增大小
如果我使用page.reload
,则在create.js.rjs中重新加载整个页面,如何仅重新加载create.js.rjs中的部分文件_login.html.erb。
答案 0 :(得分:5)
代码如下:
page.replace_html "login-block-id", :partial => "users/login"
其中login-block-id是包装登录模板的元素的id
请注意,replace_html
可以接受与render do相同的参数。
答案 1 :(得分:2)
哟也可以尝试
page[:my_div].replace :partial => "/users/login"
其中my_div是包装登录模板的元素的ID