Ruby

【Rails4→5の移行時に注意】render textはrender plainに置き換わりました


Rails 4のプロジェクトを引き継いてRails5でリプレースしているときにハマったのでメモ

Rails 4系では動くコード

以下は、シンプルに「Hello,World!」 を返すコントローラです。

class SomeController < ApplicationController

  def index
    render text: "Hello,World!"
  end

end

これが、Rails 5系だと正しく動かなくなります。

Rails 5系に移行するときは、render text: からrender plain: にする

You can send plain text - with no markup at all - back to the browser by using the :plain option to render:
(Rails Guides)

class SomeController < ApplicationController

  def index
    render plain: "Hello,World!"
  end

end

これで解決。

参考

ruby - What to use instead of render :text (and render nothing: true) in rails 5.1 and later? - Stack Overflow


-Ruby

© 2020 Permanent Til Powered by AFFINGER5