从ApplicationController渲染部分

时间:2013-03-30 14:00:04

标签: ruby-on-rails ajax

我正在尝试实现一个操作,当用户通过ajax提交新注释时将调用该操作。保存评论时,必须返回单个评论部分。但似乎渲染不能像ApplicationController那样工作。它显示一个错误,找不到视图,但它已到位(100%)。当我添加:partial参数时,它可以工作,但不传递任何变量(我需要它们!)。这是控制器代码:

class ApplicationController < ActionController::Base
  protect_from_forgery
  def comment
    comment = Comment.new({
      story_id: params[:story_id],
      content: params[:content]
    })
    if comment.save
      render 'shared/comments/comment', comment: comment
    else
      render nothing: true, status: 400
    end
  end
end

1 个答案:

答案 0 :(得分:1)

尝试使用以下语法:

render :partial => 'shared/comments/comment', :locals => { :comment => comment }