如何使用 RJS 重新加载 Rails 中的部分页面?

发布于 2024-08-04 07:04:37 字数 485 浏览 4 评论 0原文

您好,目前我正在开发一个 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 并

在 create.js.rjs 中显示帖子增量大小,如果我使用 page.reload 它会重新加载整个页面,如何仅重新加载 create.js.rjs 内的部分文件 _login.html.erb 。

Hi Currently i am working on a rails project . where i have to reload a partial page .

For example Create action

 def create
    # Some transaction to the database 
   respond_to do |format|
     format.html {render :text => 'Add post' }
     format.js
   end
  end

In my views posts/create.js.rjs i would like to reload the users/_login.html.erb file
This contains the total number of posts or the post's size , when it creates a new post its should reload the partial page _login.html.erb and display the posts incremented size

In create.js.rjs if i use page.reload it reloads the entire page , How to reload only the partial file _login.html.erb inside create.js.rjs .

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

星光不落少年眉 2024-08-11 07:04:37

代码如下所示:

  page.replace_html "login-block-id", :partial => "users/login"

其中,login-block-id 是包装登录模板的元素的 id

请注意,replace_html 可以接受与渲染相同的参数。

The code will look like:

  page.replace_html "login-block-id", :partial => "users/login"

Where login-block-id is the id of element that wraps your login template

Note that replace_html can accept the same arguments as render do.

北方的韩爷 2024-08-11 07:04:37

您还可以尝试

page[:my_div].replace :partial => "/users/login"  

其中 my_div 是包装登录模板的元素的 id

Yo could also try

page[:my_div].replace :partial => "/users/login"  

where my_div is the id of element that wraps your login template

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文