本日のタスク
【終わったタスク】10/17(土)
◆勉強
・Ruby on Rails5 II(2.3h)
→投稿一覧ページ、データベース、共通のレイアウト
・Ruby on Rails5 III(2.1h)
→投稿詳細ページ、新規投稿ページ
→6番まで終了。
◆運動
無し。
◆その他
・ダイエットブログ更新。
・10/18の予定を決める。
・転職ブログ更新。
【感想】
10/17
今日も続きを実施。ただ、思わぬところで問題解決。下記の記事に答えが。
→:https://teratail.com/questions/122769
単純にpost.saveして無かっただけでした。
irb(main):007:0> post = Post.new(content:”hello”)
=> #<Post id: nil, content: “hello”, created_at: nil, updated_at: nil>
irb(main):008:0> post.save
(2.3ms) BEGIN
Post Create (5.7ms) INSERT INTO `posts` (`content`, `created_at`, `updated_at`) VALUES (‘hello’, ‘2020-10-17 04:52:03’, ‘2020-10-17 04:52:03’)
(2.0ms) COMMIT
=> true
↓
その後、Ruby on Rails5 IIIに進んだのですが、rails consoleでfind_byメソッドにて投稿したものを表示することが出来たのですが、@idにparams[:id]が紐付かなくなってしまいました。
def show
@id = params[:id])
end
いくつか試したが変わらず。docker上のログを見てみると、”web_1 | ActionView::Template::Error (undefined method `content’ for nil:NilClass):”とありググってみたら下記の記事を発見したので試してみる。
→:https://qiita.com/peco4107/items/96bb6beda330064145e9
上記を試す前にルーティングを見直していたところ、コメントアウトしていた部分を削除してみたらparams[:id]を読むようになりました。一体なんなんだ。。。
Rails.application.routes.draw do
get “posts/index” => “posts#index”
get “posts/:id” => “posts#show”
get “/” => “home#top”
get “about” => “home#about”
↓を削除したらできた。
” # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html ”
end
別のファイルにあったコメントアウトを削除したら出来た時があったような。。。エラーの内容だけ見ていると、コメントアウトによってというのが分からないのでとんだトラップにかかっちゃいました。
一旦煮詰まってから、ちょいとドライブに行きました。
最近お気に入りのゾゾゾを流しながら、近所の通ったことの無い道を通ってみたりすると勉強の熱は引いて、リセットできる感じがします。
ゾゾゾ見てね(心霊系が苦手な人以外)。