【Ruby】rails sでのエラー・ブラウザが開きません
気がつけば、前回の記事から大分経ってしまっていました。
月日が経つのは早いですが、よろしくない…
今後、アプリの実装のカリキュラムに入っていくので、エラーの備忘録や、発見について少し書いていくつもりです。
で、今日はタイトルのサーバー立ち上げの rails s のエラーについて。
% rails s
で、サーバー立ち上がるはずなのですが、
=> A server is already running. Check プロジェクト名/tmp/pids/server.pid.
あー、エラーですか、そうですか…。サーバーが既に動いてるよって言うんですけど、ブラウザはグルグルしてます。
で、ちょっと対処法を検索しました。
①とりあえずターミナル再起動
これで済むのが一番いいんですけどね…。ダメですた。
②該当プロジェクトの/tmp/pids/server.pid.を削除
この、「/tmp/pids/server」内の「pid」ファイルと言うのは、サーバーが立ち上がったり落としたりするたびにできたり消えたりするらしい。
これが消えてないままだったり?ということで、確かに存在していたので消したのですが、解決せずでした。
=> Address already in use - bind(2) for "127.0.0.1" port 3000 (Errno::EADDRINUSE)
うーん。じゃ、次。
③killの使用
% ps ax | grep rails =>3701 s000 S+ 0:00.01 grep rails
これでrubyのプロセスを確認。
% kill -9 3701 => kill: kill 3701 failed: no such process
えー。これでもダメ。
④
% lsof -wni tcp:3000 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME ruby 3234 maiko.t 26u IPv4 0xfe72a89e0d47311d 0t0 TCP 127.0.0.1:hbci (LISTEN) ruby 3234 maiko.t 27u IPv6 0xfe72a89e09ddc5cd 0t0 TCP [::1]:hbci (LISTEN) ruby 3234 maiko.t 32u IPv6 0xfe72a89e0b25a82d 0t0 TCP [::1]:hbci->[::1]:49819 (CLOSE_WAIT) % kill -9 3234 % rails s
これで無事解決!良かった…
いろんな方が検索したり記事にしているので、割とよくあることなんですね。
※ちなみに、③についてですが、サーバーのプロセス確認は、
% ps ax | grep rails
ではなく、
% ps aux | grep puma
とのこと。rails sはpumaというサーバーを起動しているらしい。
% ps aux | grep puma
% kill -9 出てきた番号
でもいけたかも。
また、このエラーは起きてしまいそうなので、しっかり残しておくことにしました。
また出くわしたら、まずはこの手順でやってみますー(③は※のプロセスもやってみます!)
【Ruby】TrueとFalseってルールで決まってるの?!
今回も備忘録。
TECH CAMPで、練習問題ってのがあって、基本的な問題を1日1問くらいずつ解いてるのですが、条件式の問題で本日のタイトルのTrueとFalseの扱いに困っちゃいました。
解説にもなく、メンターさんにチャットしてお尋ねしたのですが、多分当たり前のルール&私の聞き方が悪かったので、このルール前提でお話があり…
もしや、これはルールがあるのでは!と調べてみました。
例えば、
のとき、なんて出力されるか?なんてことなんですけども。
イメージ的にはまぁ"True"なんですけども(笑)、でも条件って「もしa=〇〇のとき××」っていう、エクセル的な発想だったので、「え?これだけじゃ条件わかんないよ?」って超初心者は思ったわけです。
だって「if a」って、aに何代入されればTrueで、何以外ならFalseになるかわかんないでしょうよ、ってことです。
で、ちょちょっと調べてみまして、どうやらプログラミング言語にはそれぞれtrue/falseにルールがあると言うことがわかりまして。
結構言語によってはめんどくさそうな…
Rubyは簡単で、「false」「nil(何もないこと)」以外はtrueとして扱うと言うルールが存在しました。
なので、上の条件式に戻ると、
以外でしたら、aに何入れてもtrueが出力されるってことです。
でもtrueになりました。
ルールとして存在してるんで、わざわざ書かなくても条件が成り立つってことなのですねー。
勉強になりました。
【Ruby on Rails Error】No template for interactive request
自己紹介の後の記事がエラー記事というのも、あまりにも話がとびすぎではありますが、自分の備忘録として。
超初心者のエラーです。
No template for interactive request
TweetsController#index is missing a template for request formats: text/html
Ruby on Railsで作業していて、ルーティング、コントローラー、ビューと記述を終え、さて確認と思ってローカルホストに接続したら、このエラーが出ました。
検索したところ、初心者のよくやるエラーとして、詳しい記事をいろんな方が書いてくださっていました。
要は、controllerで設定したアクションのviewがないよーってエラーの模様。
controller見てもスペルミスもしてないし、viewのファイル名も正しい。
おっかしーなーと思ってましたが、どうやらindexのviewのディレクトリを間違えていたようでした…
app/viewの直下に置いておりました。
tweets_controllerなんで、
app/views/tweets/index.html.erb
とならないと、実行するviewないよーって感じになっちゃうってことでしょうか…
前もviewファイル作るとき、app/viewにviewファイル作っちゃったんですよね。
作成時に気をつけないと、と思いました。
以上、エラーの備忘録でした!
自分のこと、プログラミングスクールのこと
ブログ名通り、30代後半(正確には38)、派遣、文系大学、未経験という、市場にとって価値のないであろう人材です。
いくらエンジニアが足りないと言っても、おそらく上記条件を見て取りたいと思う企業はいないと思います。私なら取らない(笑)
そこからどうやって這い上がっていくのかという個人的経緯や、学習したことなど、週1くらいでブログに書いていけたらと思っています。
そして、このブログを読んだ方が、こんなポンコツでもできるなら自分も…!と思ってもらえるよう、私も頑張りたいと思っています。
現在、既婚で子供はいません。
派遣で週4ペースで働いています。
なので、仕事に取られる時間という意味では、正社員で働きながら学習されてる方より、ちょっと余裕があります。
が、ダンナは朝7時に出勤して夜21時すぎに帰宅、家事などほぼ全ての雑務は私が一手に引き受けているので、そこに裂かれる時間はちょっと多め。ご結婚されてる奥様は同意してくださると思うのですが、名前のない家事は意外と多い。そのことも知っておいていただけると嬉しいです(笑)
学習は10月末から、TECH CAMPの夜間休日コースで始めることとしました。
やっぱりスクールの方が効率が良いのではと思ったのと、誰かに見てもらってるとサボらずできるので(笑)
学習言語はRuby。PCのアプリ開発などで使用される言語とのこと。
学習は、基礎→応用→…と進んでいくのですが、今応用カリキュラムに進んでいるところです。
本来は休日にスクールに通うのですが、今はコロナの影響で、完全オンラインとなっています。
この時期はその方が安心です。また感染者増えてきたし…
ですが、スラックで同期の学習進度がわかるようになっていたり、グループ面談があったりと、孤立せず学習できるようになっています。
まぁネックは金額でしょう。決して気軽にポンと出せる金額ではないので…
TECH ACADEMY、TECH CAMPの無料相談を受けて、TECH CAMPにしたのですが、新卒、第二新卒など20代前半でしたら、TECH ACADEMYでもいいのかも、と思いました。
研修とかでもちゃんと教えてもらえるはずですしね。
でも、私は圧倒的に条件が悪いので、就職保証がないとダメだと思ったので、TECH CAMP一択でした。
TECH ACADEMYの転職保証は私の年齢では受けられないんですよね。
TECH CAMPも40までなので、まさにギリギリ崖っぷち(笑)
すっかり長くなってしまいましたが、私のことはこのくらいで。
また、追々書いていけたらと思います。
頑張って勉強します1