gpt4 book ai didi

ruby-on-rails - Rails - 通过 ajax 显示索引和显示操作的结果

转载 作者:行者123 更新时间:2023-12-04 06:47:18 25 4
gpt4 key购买 nike

我有一个非常简单的 Post 资源,有两个操作,index 和 show。我的模板包含一个侧边栏,其中包含指向之前每个帖子的链接。我希望侧边栏链接通过 ajax 显示其内容(即“显示”操作的结果)

我知道有很多 excellent tuts向您展示了如何创建一个使用 ajax 提交的表单,但这次我想用它来显示我的索引的内容并显示没有页面引用的操作

.是否有任何体面的教程可以提供有关如何执行此操作的提示?

我想我需要创建一个 show.js.erb 文件,并告诉我的索引操作来响应 js 但我有点卡住了。我不太知道在 Controller 的 show action 或 show.js.erb 中放什么 - 想象我需要做什么有点困难

PS - 使用 rails 3.0.7, jquery-1.5

最佳答案

得到了这个工作,最后它非常简单。

步骤 1 - 添加 :remote => true到侧边栏中的链接

#application.html.haml
%nav#sidebar
- for post in @posts
= link_to post.title, post_path, :remote => true
%div#main
= yield

步骤 2 - 告诉您的 Controller 在 show Action 上响应 JS
def show
@post = Post.find(params[:id])
@posts=Post.all # needed for sidebar, probably better to use a cell for this
respond_to do |format|
format.html # show.html.erb
format.js # show.js.erb
end
end

步骤 3 - 创建 _post.html.haml
# _post.html.haml
%article.post
= sanitize post.body

第 4 步 - 创建 show.js.erb 并将 #main div 中的 html 替换为 _post 部分(我们在第 3 步中创建的)的内容
# show.js.erb
$("#main").html("<%= escape_javascript(render @post) %>");

现在所有内容都通过ajax传递并且工作正常。

关于ruby-on-rails - Rails - 通过 ajax 显示索引和显示操作的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6038281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com