更新
我必须通过更改 Model 调用来让它工作
@comments = VideoComment.all(:conditions => { :video_id => @video.id}, :limit => 5, :order => :created_at)
@comments = VideoComment.last(5).reverse
它有效,但它给了我所有视频的最后一个视频评论,而我只想要当前视频中的评论(@video.id
)。
关于如何做到这一点的任何线索?
我有一个Video
控制器和一个VideoComments
管理控制器注释的Video
控制器。我试图让我的远程表单使用 ajax 更新评论列表,但它似乎不起作用。你能找出我做错了什么吗?
显示页面的 HTML 代码:
- if current_user
#comment-form
= render 'video_comments/comment_form'
%ul
#comments
= render @comments
video_comments/_comment_form.html.haml
= form_for current_user.video_comments.build(:video_id => params[:id]), :remote => true do |f|
.form-fields
.comment-content
= f.text_area :content, rows:2
= f.hidden_field :video_id
= f.hidden_field :user_id
.submit-form
= f.submit "Add a comment", :class => "btn btn-default "
Video_Comments
控制器create
动作 :
def create
@comment = VideoComment.create(params[:video_comment])
@video = @comment.video
@comments = VideoComment.all(:conditions => { :video_id => @video.id}, :limit => 5, :order => :created_at)
render :toggle
end
toggle.js.erb
管理页面更改的文件:
$("#comment-form").html("<%= escape_javascript render 'comment_form' %>");
$("#comments").html("<%= escape_javascript render @comments %>");