11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails5の勉強 : render textについて

Posted at

#注意:この記事はガチの初心者がとりあえずの解決法を書いてるだけです.参考にはなりませんからね

これくらい堂々と注意書きすれば大丈夫でしょう.
以下の記事はRuby2.5.0,Rails5.2.0での話です.

#1. 今回のエラー
パラメータの取得について勉強しようと思ったので,「名前をパラメータで取得して返答する」という簡単なやつから始めたよ.一瞬で躓いたよ...

Lesson_Controller.rbで以下の記述をしてブラウザでアクセスしたよ.

Lesson_controller.rb
class LessonController < ApplicationController
  def step1
    render text: "こんにちは,#{params[:name]}さん"
  end
end

routes.rbにも記述は加えてあるよ.

routes.rb
Rails.application.routes.draw do
  #中略
  get "lesson/:action(/:name)" => "lesson"
  #中略
end

アクセスしたURL
http://127.0.0.1:3000/lesson/step1?name=Floym

期待した返答
こんにちは,Floymさん

結果
Template is missing

#2. 原因
参考にしている本がRails4.2で書かれているので,バージョンで変わってしまったと推測する.
こちらを参考にしました.やっぱりバージョンが上がったことで非推奨になったみたい.

#3. 変更
以下のように変更したよ.

render textrender plain

Lesson_controller.rb
class LessonController < ApplicationController
  def step1
    #render text: "こんにちは,#{params[:name]}さん"
    render plain: "こんにちは,#{params[:name]}さん"
  end
end

#4. 結果
無事に返答がきました!
こんにちは,Floymさん

11
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?