0

ruby on rails 3 のコントローラでvoid format.html レスポンスが欲しい。

たとえば、私の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 応答でのみ動作し、その後、new.js.erb からパーシャルをレンダリングしたいと考えています。これは私にとっては簡単な問題ではありませんが...

私が置く場合:

http://localhost:3000/comments/new

空白のページが表示されます:O.

このページを無効にするにはどうすればよいですか? たとえば、エラー 404 をレンダリングまたは表示します。

ありがとうございました!

4

1 に答える 1

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を参照してください。

于 2012-02-20T20:24:56.280 に答える