見出し画像

Rails-scaffoldで投稿機能を設置 + エラー対処

scaffoldはターミナルコマンドを打つだけで、一覧(index)・詳細(show)・新規作成(new)・編集(edit)・削除(destroy)するために必要なコントローラ、モデル、ビューファイルがまとめて自動生成される便利な機能

参考サイト:

ターミナル

# 新しくアプリを作る
$ rails new アプリ名
# 今作業しているディレクトリを移動するためのコマンド
$ cd ディレクトリ
# Tweetモデルを作成
$ rails g scaffold Tweet title:string content:text
# ルーティングを確認すると自動でルーティングも作成されています
$ rake routes
# マイグレート実行
$ rake db:migrate
# ブラウザで確認すると投稿機能が設置されています
$ rails s

cd ディレクトリでエラーが起きてマイグレート出来ない !

# エラー内容
No such file or directory

改善方法:
アプリのフォルダーにcontrol押しながらクリック

フォルダの場所確認する

ターミナル

$ cd /Users/ユーザーの名前/Desktop/自分の作るアプリ名
# 例: cd /Users/yamadahanako/Desktop/test_app
# エラーで出来なかったので再び
$ rails g scaffold Tweet title:string content:text
# マイグレート実行
$ rake db:migrate

参考サイト:

rake routesのエラー内容:

# エラー内容
rake aborted!
Don't know how to build task 'routes' 
(See the list of available tasks with `rake --tasks`)

改善方法:

app / lib / tasks / routes.rake ←( 新規ファイル作成 )

# 作成したroutes.rake新規ファイルに以下をコピペ

task routes: :environment do 
  puts `rails routes` 
end

rails routesを呼ぶようにしてあげる。
コマンドSで保存する

ターミナル

# もう一度試すと出来ると思います
$ rake routes

参考サイト: