void respond_to format.html只应与format.js一起使用

时间:2012-02-20 16:42:03

标签: ruby-on-rails respond-to

我想在rails 3上的ruby中的控制器中使用 format.html响应。

e.g。在我的comments_controller.rb

def new
 @comment = Comment.new
  respond_to do |format|
    #format.html # new.html.erb avoid this output
    #format.json { render json: @board } # avoid this output
  format.js
 end
end

我只想使用 format.js response ,然后从new.js.erb渲染部分。这对我来说不是问题,但是......

如果我把:

http://localhost:3000/comments/new

我得到一个空白页:O。

如何取消此页面?例如渲染或显示错误404。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

def new
 @comment = Comment.new
  respond_to do |format|
    format.html { render text: "Error", status: 404 }
    #format.json { render json: @board } # avoid this output
  format.js
 end
end

有关详细信息,请参阅http://guides.rubyonrails.org/layouts_and_rendering.html