Ruby 将视图中的代码放入Rails中的弹出窗口
当点击链接时,我想将这段代码从我的html视图带到弹出窗口中 这在RubyonRails中可能吗?我已经有了弹出窗口,但我想知道只显示注释的代码:Ruby 将视图中的代码放入Rails中的弹出窗口,ruby,ruby-on-rails-3,facebox,Ruby,Ruby On Rails 3,Facebox,当点击链接时,我想将这段代码从我的html视图带到弹出窗口中 这在RubyonRails中可能吗?我已经有了弹出窗口,但我想知道只显示注释的代码: <div class = "comments"><% if post.comments.exists? %> <% post.comments.each do |comment| %> <%= image_tag("http://www.gravatar.com/someavatarlink %) &
<div class = "comments"><% if post.comments.exists? %>
<% post.comments.each do |comment| %>
<%= image_tag("http://www.gravatar.com/someavatarlink %) <!-- Retrieves Gravatar -->
<%= link_to comment.user.name, comment.user %>
<span class="timestamp"><%= time_ago_in_words(comment.created_at) %> ago</span>
<span class="content2"><%= comment.comment_content %></span>
<% end %>
<% end %></div>
添加了对_comment_form.html.erb的Ajax调用
<%= link_to "Link", comment, :remote => true %>
Comments
<% end %></div></div>
<div id ="modal" class = "comments"><% if post.comments.exists? %>
<% post.comments.each do |comment| %>
<%= link_to comment.user.name, comment.user %>
<span class="timestamp"><%= time_ago_in_words(comment.created_at) %> ago</span>
<span class="content2"><%= comment.comment_content %></span>
<% end %>
<% end %></div>
将def显示添加到控制器中
class CommentsController < ApplicationController
def new
@post = post.new(params[:post])
end
def show
@comment = Comment.find(params[:id])
respond_to do |format|
format.js
end
def create
@post = post.find(params[:micropost_id])
@comment = Comment.new(params[:comment])
@comment.post = @post
@comment.user = current_user
if @comment.save
redirect_to(:back)
else
render 'shared/_comment_form'
end
end
end
创建show.erb.js并将其放入“评论”和“共享”文件夹中
$("#popup").html('<%= escape_javascript(render "comments") %>');
最后,我在comments/_comment.html.erb中写下了我的部分内容
<% if post.comments.exists? %>
<% post.comments.each do |comment| %>
<%= link_to comment.user.name, comment.user %>
<span class="timestamp"><%= time_ago_in_words(comment.created_at) %> ago</span>
<span class="content2"><%= comment.comment_content %></span>
<% end %>
<% end %>
一,。Ajax调用
要检索数据,可以使用Ajax调用
<%= link_to "Link", comment, :remote => true %>
二,。写js视图
在评论中添加show.erb.js视图。这是一个带有ERB评估的JavaScript文件。
在此模板中,使用js弹出代码并告诉它用html代码填充div,如下所示:
$("#popup").html('<%= escape_javascript(render @comment) %>');
这将呈现注释。我们唯一需要的是一个片段来呈现注释的html
三,。为html编写部分
为要在弹出窗口中显示的视图零件编写部分。然后可以在普通html视图或js视图中使用。要使用上面的代码,请调用它_comment.html.erb
<% if post.comments.exists? %>
<% post.comments.each do |comment| %>
<%= link_to comment.user.name, comment.user %>
<span class="timestamp"><%= time_ago_in_words(comment.created_at) %> ago</span>
<span class="content2"><%= comment.comment_content %></span>
<% end %>
<% end %>
要了解有关分部的更多信息,您可以查看以下指南:
1。Ajax调用
要检索数据,可以使用Ajax调用
<%= link_to "Link", comment, :remote => true %>
二,。写js视图
在评论中添加show.erb.js视图。这是一个带有ERB评估的JavaScript文件。
在此模板中,使用js弹出代码并告诉它用html代码填充div,如下所示:
$("#popup").html('<%= escape_javascript(render @comment) %>');
这将呈现注释。我们唯一需要的是一个片段来呈现注释的html
三,。为html编写部分
为要在弹出窗口中显示的视图零件编写部分。然后可以在普通html视图或js视图中使用。要使用上面的代码,请调用它_comment.html.erb
<% if post.comments.exists? %>
<% post.comments.each do |comment| %>
<%= link_to comment.user.name, comment.user %>
<span class="timestamp"><%= time_ago_in_words(comment.created_at) %> ago</span>
<span class="content2"><%= comment.comment_content %></span>
<% end %>
<% end %>
要了解有关分部的更多信息,您可以查看以下指南:
我正在查看您的答案,但有一个简短的问题。我已经将我的原始帖子中的上述代码放入“shared/comment”中,文件名为_comment.html.erb。我可以使用此处在弹出窗口中渲染视图吗?仅供参考-制作弹出窗口是我已经在使用facebox的工作。我的问题是试图找出什么链接到代码应该给予上述代码在我原来的帖子链接需要是一个远程链接。我更新了答案。我只是有点困惑你想展示什么。是“用户”还是“评论”?我猜您将了解如何修改代码。好的,根据您的输入进行更新。让我知道它是否解决了您的问题我一步一步地去了,但我在views/shared/_comment_form.html.erb:26:语法错误,意外关键字_sure,预期$end。我在更新后的帖子中公布了我采取的所有步骤。你能看一下吗?我正在看你的答案,但有一个简短的问题。我已经将我的原始帖子中的上述代码放入“shared/comment”中,文件名为_comment.html.erb。我可以使用此处在弹出窗口中渲染视图吗?仅供参考-制作弹出窗口是我已经在使用facebox的工作。我的问题是试图找出什么链接到代码应该给予上述代码在我原来的帖子链接需要是一个远程链接。我更新了答案。我只是有点困惑你想展示什么。是“用户”还是“评论”?我猜您将了解如何修改代码。好的,根据您的输入进行更新。让我知道它是否解决了您的问题我一步一步地去了,但我在views/shared/_comment_form.html.erb:26:语法错误,意外关键字_sure,预期$end。我在更新后的帖子中公布了我采取的所有步骤。你能看一下吗?