【rails g model モデル名 で誤ったモデル名を命名してしまった場合】
rails g model comment
を誤ってrails g model commnet
としてしまったので、正しく再命名します!
謝った命名でファイルが複数生成されてしまったので↓ ↓↓
invoke active_record create db/migrate/20211013082330_create_commnets.rb create app/models/commnet.rb invoke test_unit create test/models/commnet_test.rb create test/fixtures/commnets.yml
rails destroy model commnet
とします。
すると、
invoke active_record remove db/migrate/20211013082330_create_commnets.rb remove app/models/commnet.rb invoke test_unit remove test/models/commnet_test.rb remove test/fixtures/commnets.yml
誤って生成された複数のファイルをまとめて削除することができました。
その後、正しいモデル名でモデルを作成します。
【 ターミナルでyarn install 実行時にエラー 】
rails アプリケーションを立ち上げるにあたって、
yarn install
を実行したところ、実行に失敗しました。
現在TECH::CAMPを受講中なので、メンターさんに確認したところ。
アプリケーションを動かすための記述を全て消してしまっていたとのこと(wtf)
そこで、以下の様にご教示頂き解決!
まず、 vim ~/.zshrc を実行 ①iを押してインサートモードにする ②すでに記述されている情報は消さずに、以下の記述を追加する eval "$(rbenv init -)" export PATH="/usr/local/opt/mysql@5.6/bin:$PATH" export PATH="/usr/local/opt/node@14/bin:$PATH" ③escキーを押し、:wqと入力し保存して終了する ④source ~/.zshrcを実行 ⑤再度yarn installを行なう
どうやら②の内容を消してしまっていた様です。
esc...ノーマルモードに戻る
:wq...編集した内容を保存してVimを終了する
source...反映させる
【Ajaxでコントローラーにリクエストを送る。を紐解く】
function post (){ const submit = document.getElementById("submit"); submit.addEventListener('click', (e) =>{ e.preventDefault(); const form = document.getElementById("form"); const formData = new FormData(form); const XHR = new XMLHttpRequest(); XHR.open("POST","/posts", true); XHR.responseType = "json"; XHR.send(formData); }); }; window.addEventListener('load', post);
【目的】
【全体像】
ウィンドウが読み込まれたとき、 関数postを実行する。
【概要】
その内容とは、 投稿ボタン(id = submit)がクリックされたとき、 フォームに入力された内容をXML HttpRequestを使って、 リクエストを送信するというものです。
【詳細】
そのためには、 何処に? どのフォーマットで? httpメソッドは? 非同期通信のon/offは? などを指定し、 さらに、フォームで入力された値を取得し、 オブジェクトを生成しておく必要があります。
【補足】
【A server is already running.(rails s実行時)】
rails s
でサーバーを立ち上げようとしたところ、
A server is already running.
と表示され、接続できない。
↓↓↓↓↓↓↓↓↓↓↓↓
まず、
lsof -i:3000
でPIDを確認。(仮に1111とします)
kill -9 1111
でプロセス削除。
rails s
を実行すると、無事サーバーが起動しました。
【 rubyの"実引数" と "仮引数"について 】
実引数と仮引数。 どっちがどっちだったか忘れてしまいがちなので、 書き落とします!
メソッドの定義には引数をつける事が出来、これを「仮引数」。
("仮"の文字を指定してあげる為?"仮")
その定義したメソッドを呼び出すときに付けてあげるのが、「実引数」。
("実"際に使う値を指定してあげる為?"実")
def sample(hoge) #仮引数 puts "good" end sample(fuga)#実引数