おぴよの気まぐれ日記

おぴよの気まぐれ日記

岡山やプログラミング、ファッションのこと、子育てや人生、生き方についての備忘録。

Rails

【Rails】Strong Parametersで`param is missing...`エラーになる

こんちには。opiyoです。 ActionController::ParameterMissing in ImagesController#create param is missing or the value is empty: image def image_paprams params.require(:image).permit(:name, :picture) end end こんな感じでエラーになるのだが、pa…

【Rails】ファイルのフルパス、ファイル名を取得する

過去データとかでファイルを一括で読み込みたい場合で使える技です。 > files = Dir.glob("/Users/taku/rails/gist/test/*.xls") => ["/Users/taku/rails/gist/test/1.xls", "/Users/taku/rails/gist/test/2.xls", "/Users/taku/rails/gist/test/3.xls", "/U…

【Rails】XX件以上登録できないようにする独自バリデーションメソッドを設定する方法

こんばんは。opiyoです。 Railsアプリで「XX以上は登録できない!」というバリデーションを設定したかったので、やり方を調べてみました。 やりたいこと Keywordというテーブルにデータを登録する処理で、5つまでしか登録できないようにバリデーションを設定…

【Rails】ファイルをDBに保存する方法

ファイルを保存する方法はRailsチュートリアルとかでは、CarrierWaveというgemを使う。 だがちょっとしたアプリとか作りたい時には、DBに保存した方が都合がいい時もあるはず。 gemを使う方法は別の機会でまとめるとして、今日はDBに保存する方法を。 モデル…

【Ruby】文字列をDate(日付)に変換する時は桁数を意識しないと違う日付になる

文字列が意図しない日付になる? 売上などのデータでcsvファイルを連携して取り込むってのはよくある話だと思うのですが、単純に文字列結合して変換すると違った日付になったりエラーになったりするので気をつける必要がある。 > require 'date' => true >Da…

【Ruby on Rails】`rails db:reset`だと変更/追加したmigrationファイルが反映されない!

rails db:reset テーブル削除 → schema.rbの情報を元に作り直す rails db:migrate:reset テーブル削除 → 作成 → db:migrateが実行される つまり、migrationファイルを作成した後にそのファイルを修正した場合はdb:resetしても反映されない! 調べてみたら、…

エンジニア=プログラマーは夢のある職業であることを痛感した1年だった

こんちにちは。opiyoです。 今日から新年初出社ですが、世の中的には今週まで休みの人も多いですかね。 僕も30歳目前。外の世界の変化が激しい中、大切な20代も残りわずか。 普通に過ごしているだけでは当たり前のように生きていくことすら厳しい、そんな時…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(番外編:シェア=リツイート機能の拡張)

こんにちは。opiyoです。 今回は、番外編:シェア=リツイート機能の拡張をやっていきます。 マイクロポストにリツイートアイコンを表示して、「シェア=リツイート」できるようにします。 ではでは、早速行ってみましょう。 やること 仕様 【できたこと】 リ…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(番外編:いいね機能の拡張)

こんにちは。opiyoです。 今回は、番外編:いいね機能の拡張をやっていきます。 マイクロポストにハートアイコンを表示して、「いいね」できるようにします。 ではでは、早速行ってみましょう。 やること 仕様 「いいね」機能を実装するに当たって、ざっくり…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(番外編:検索機能の拡張)

こんにちは。opiyoです。 今回は、番外編:検索機能の拡張をやっていきます。 ユーザーとマイクロポストをあいまい検索できるような機能を各画面に追加します。 ではでは、早速行ってみましょう。 ユーザー一覧に名前をあいまい検索できる # app/views/users…

プログラミング初心者でも出来た!ビットコイン自動売買システムをRubyで作る

こんにちは。opiyoです。 今日は私が入会している人生逃げ切りサロンのメンバーである迫 佑樹さんが Rubyで作る! ビットコイン自動売買システム の作り方を解説した動画について紹介させてもらいます。 この動画の最大の魅力はプログラミング経験が全くない…

Railsチュートリアルの環境はCloud9で決まり!

こんにちは。opiyoです。 Webアプリケーションの勉強をする際に先ず引っかかるので環境構築ではないでしょうか。 参考書や記事の通りやってるのにエラーになる。 ググって色々やってみる 解決できない 辞める これ凄いもったいないですよね。せっかく何かを…

【完全版】Active Record の基礎!

こんにちは。opiyoです。 今日はRailsの勉強をしていると出てくる「Active Record 」について、勉強したいと思います。 User.first User.find(1) User.update User.create!(hoge: hoge) こんな奴らですね。 ではでは早速、行ってみましょう。 Active Record…

【完全版】Railsチュートリアルで人生を変える28歳の夏(演習問題の回答あり)

こんにちわ。opiyoです。 改めてちゃんと書こうと思いますが、一先ず今日。ってかさっき今月中を目標にしていたRailsチュートリアル14章までのまとめ記事をアップしました。 せっかくなので、まとめポストを書こうと思います。(今月の目標記事数に届かない…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第14章 完!)

こんにちは。opiyoです。 今回は、第14章をやっていきます。 第14章はフォロー、フォロワーする機能を追加します。 なんとなんと最後の章までやってまいりました。 ではでは、早速行ってみましょう。 14.1.1 演習 データモデルの問題 (および解決策) 14.1.1.…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第13章)

こんにちは。opiyoです。 今回は、第13章をやっていきます。 第13章はユーザーが短いメッセージを投稿できる「マイクロポスト」機能を追加します。 やっとログイン関係の処理を抜けて、機能拡張ですね! ではでは、早速行ってみましょう。 13.1.1 演習 基本…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第12章)

こんにちは。opiyoです。 今回は、第12章をやっていきます。 第12章はパスワードを忘れた時の再設定方法です。 どうやら難しそうですが、早速行ってみましょう。 12.1.1 演習 PasswordResetsコントローラ 12.1.1.1 <問題>この時点で、テストスイートが gre…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第11章)

こんにちは。opiyoです。 今回は、第11章をやっていきます。 第11章はメールを使ってアカウントを有効化する方法です。 どうやら難しそうですが、早速行ってみましょう。 11.1.1 演習 AccountActivationsコントローラ 11.1.1.1 <問題>現時点でテストスイー…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第10章)

こんにちは。opiyoです。 今回は、第10章をやっていきます。 第10章はユーザー登録以外の「表示」「編集」「削除」の方法です。 10.1.1 演習 編集フォーム 10.1.1.1 <問題>先ほど触れたように、target=“_blank"で新しいページを開くときには、セキュリティ…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第9章)

こんにちは。opiyoです。 今回は、第9章をやっていきます。 第9章は画面からユーザーを登録する方法です。 9.1.1 演習 記憶トークンと暗号化 9.1.1.1 <問題>コンソールを開き、データベースにある最初のユーザーを変数userに代入してください。その後、そ…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第8章)

こんにちは。opiyoです。 今回は、第8章をやっていきます。 第8章は画面からユーザーを登録する方法です。 8.1.1 演習 Sessionsコントローラ 8.1.1.1 <問題>GET login_pathとPOST login_pathとの違いを説明できますか? 少し考えてみましょう。 <回答> lo…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第7章)

こんにちは。opiyoです。 今回は、第7章をやっていきます。 第7章は画面からユーザーを登録する方法です。 7.1.1 演習 デバッグとRails環境 7.1.1.1 <問題> ブラウザから /about にアクセスし、デバッグ情報が表示されていることを確認してください。この…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第6章)

こんにちは。opiyoです。 今回は、第6章をやっていきます。 第6章はユーザーのモデルを作っていきます。 6.1.1 演習 データベースの移行 6.1.1.1 <問題>Railsはdb/ディレクトリの中にあるschema.rbというファイルを使っています。これはデータベースの構造…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第5章)

こんにちは。opiyoです。 今回は、第5章をやっていきます。 第5章はレイアウト。つまり見た目の部分をメインにやっていきます。 では、早速始めてみたいと思います。 5.1.1 演習 ナビゲーション 5.1.1.1 <問題> Webページと言ったらネコ画像、というぐらい…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第4章:後半戦)

こんちには、opiyoです。 人生の生き残りをかけて始めた「Railsブートキャンプ」ですが、今日はRailsチュートリアル第4章をやっていこうと思います。 第4章は「Ruby」のお勉強です。早速やってみましょう! この記事は後半戦になります。 前半戦はこちらから…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第4章:前半戦)

こんちには、opiyoです。 人生の生き残りをかけて始めた「Railsブートキャンプ」ですが、今日はRailsチュートリアル第4章をやっていこうと思います。 第4章は「Ruby」のお勉強です。早速やってみましょう! あまりにもボリューミーなので、2回に分けます。こ…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第3章)

こんちには、opiyoです。 人生の生き残りをかけて始めた「Railsブートキャンプ」ですが、今日はRailsチュートリアル第3章をやっていこうと思います。 前回までのをまとめたのはこちらからどうぞ。 opiyotan.hatenablog.com opiyotan.hatenablog.com セットア…

Railsチュートリアルの「3.3.1 最初のテスト」のテストをエラーになる

こんちには、opiyoです。 Railsチュートリアルの第3章に取り組んでいる最中ですが、ハマリポイントがあったので共有したいと思います。 https://railstutorial.jp/chapters/static_pages?version=5.0#sec-our_first_test エラーの内容 $ rails test # Runnin…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第2章)

こんちには、opiyoです。 人生の生き残りをかけて始めた「Railsブートキャンプ」ですが、今日はRailsチュートリアル第2章をやっていこうと思います。 第1章をまとめたのはこちらからどうぞ。 opiyotan.hatenablog.com モデル(Model)の作り方 ユーザーモデ…

30歳まで残り2年の僕は人生を変えるためにRailsチュートリアルを始めようと思う(第1章)

こんちにわ、opiyoです。 突然ですが、私は今日からプログラミングの勉強をスタートしようと思います。 その名も Railsブートキャンプ うん。そのまま! 基礎部分をRailsチュートリアルで行い、最終的に一つアウトプットできるwebサービスを作ることが目標で…