→Ruby on Rails RubyによるWebアプリケーションフレームワーク RoR
Agile Web Development with Rails
10分で作るRailsアプリ for Windows http://masuidrive.jp/rails/
Ruby on Rails公式サイトの採用サイト紹介ページ http://wiki.rubyonrails.org/rails/pages/RealWorldUsage
check_box f.check_box check_box_tag collection_check_boxes f.collection_check_boxes の違いについて。 使い分け check_box 関連するモデルがある時 f.check_box 関連するモデルがある時、かつform_forまたはform_withの中で使う際 check_box_tag 関連するモデルがない時 f.check_box_tag 関連するモデルがない時、かつform_forまたはform_withの中で使う際 collection_check_boxes すでにあるモデルからチェックボックスを自動…
昨日の勉強会でfindとfind_byについての理解が全く足りてなかったので、 今日のブログでfindとはなんぞやということをまとめていきたいと思います。 今回の内容としては、 1. findメソッドについて 2. findメソッドとfind_byメソッドの違いについて の2本柱でお送りします。 findについて findはmodelの検索機能の1つです。 データベースのテーブルからモデルオブジェクトとして取り出す場合にRailsのfindメソッドを使います。 使い方と具体例 findを使えば、これらのテーブルのid, name, numberを簡単に調べることが出来ます。 それではターミナル…
railsでアプリを作っていて、何回かモデル設計する際に「これどういう意味だっけ?」となったので、備忘録としてのまとめ accepts_nested_attributes_for dependent: :destroy references, foreign_key 外部キー制約とは accepts_nested_attributes_for 親モデルにの方に記述することで、子モデルのテーブルの更新も同時にできるようになる。 例えば、以下のような1人のuserに対して複数のpostが紐づいている多対1のモデルがあったとする。 userクラス Class User has_many posts …
はじめに こんにちは!大ちゃんの駆け出し技術ブログです。 RailsでAPIモードを使用してJSONデータを受け取る時にActiveModelSerializersというgemがとても重宝したので紹介します。JSONのレンダーを簡易的に行ってくれるので、Vue.jsなどを使用する場合は是非こちらのgemを使ってみてください。 github.com インストール 現在の最新版を使用します。Gemファイルに記載し、bundle install # Gemfile gem 'active_model_serializers', '~> 0.10.0' $ bundle install Install…
auditedというgemを使って、監査ログを保存するようにしたいと思い、現在調査中。 github.com 大体はよさそうなので、採用したいと思っているのだけれど、困ったのが、rails consoleとかでデータ変更されたとき。データ変更の履歴は残るものの、誰がやったかがわからない。 流石にそれだと万が一rails console経由で変な処理してしまったら困るので、誰かは分からずともrails console経由であることくらいはわかるようにしたいということで、設定してみました。 rails consoleであることをどうやって検知するか? これが全然わからなかったのですが、stacko…
cloud9環境でのRailsチュートリアルで、テスト自体は出来るものの、下記エラーが毎回出て気になる人の為の記事 【コンソールでのエラー内容】 ec2-user:~/environment/sample_app (master) $ rails t Running via Spring preloader in process 19388 Run options: --seed 51796 # Running: .................. Finished in 0.564856s, 31.8665 runs/s, 63.7331 assertions/s. 18 runs, 36…
ER図とは、 「データベース設計(データモデリング)で使う設計手法」のことです。 もっと簡単にいうと、 テーブルとテーブルを線でつないで関係性を見やすくしたものです。 英語では「Entity Relationship Diagram」と呼ばれています。 ER図の構成 ER図は、 「エンティティ」 「アトリビュート」 「リレーション」 「カーディナリティ」 と呼ばれるオブジェクトで構成されています。 主な記法2種類 IE記法 IDEF1X記法 主な記法はこの2つです。 IE記法 IE記法とは、リレーションが鳥の足 のような形をしていることから、別名「鳥の足記法」とも呼ばれています。 リレーション…
mysql -u rootCREATE USER 'username'@'localhost' IDENTIFIED BY 'password'; GRANT ALL ON *.* TO 'username'@'localhost'; flush privileges;
自分は2020年9月頃からプログラミングの勉強を始めました。 つまり、プログラミング勉強を始めて約半年になります。 今回は学習した半年間を振り返って、プログラミング勉強を始めた頃の自分へアドバイスができるとしたら、という前提でアドバイスしてみたいと思います。 まだまだ未熟者なので、トンチンカンなことを言っている点があったとしても、心穏やかに対応していただくことを切に願います。 プログラミングを学習するにあたってのアドバイス 学習する順番をわきまえろ 自分がやったことを可視化しろ 手を動かして行かないと理解できない もくもく会などに参加してみろ 学習した教材とオススメ度 キタミ式イラストIT塾 …
はじめに Vue.js + RailsのAPIモードで開発中に突如として現れたエラーです。 undefined method 'flash' for#<ActionDispatch::Request> 原因、解決方法を記載します。 RailsをAPIモードにする方法はこちらの記事に記載してます。 解決方法 flashメソッドが未定義だと言われているので、application.rbに定義してあげます。 config/application.rb $ config.middleware.use ActionDispatch::Flash 原因 Rais 5から実装されたAPIモードには以下のよう…
こんにちは、りゅうじです。 パンくずリストとは?gretelでの作成の仕方を勉強したのでアウトプットしていきます。 結論と全体の手順 パンくずリスト パンくずリストは、通常ページの上部に表示され、今訪問者がサイトのどこの階層にいるのかを伝えるリンクの事。 どういうものかイメージつかない方もいるかと思います(私もそんなのあったっけ?ってなりました)これです! この画像では今いるページがタグ編集であり、親ページにあたるタグ一覧とHomeがリンクになっていてクリックすると移動できるやつです。 このパンくずリストをgretelという名前のGemで簡単に作成できます。 パンくずリスト=gretel と覚…
壱リクエストとレスポンスの流れ (ユーザー一覧を取得する場合の流れ) ① ブラウザからrailsサーバーに対して、HTTPリクエストを送信する ② HTTPリクエストに対応するコントローラーのメソッドを呼び出す ③ ユーザー一覧に必要な情報をModelから取得する ④ データベースにSQLを発行する ⑤ データベースからクエリー結果が返る ⑥ ModelからControllerにデータを返す ⑦ Modelから取得した結果から、Viewをレンダリング(描画)する ⑧ HTTPレスポンスをブラウザに返す (RUNTEQのMVCの流れ見返す) 弍 CRUDのルートの流れはみなさい(覚えなさい) 現…
どうも、ご無沙汰してます。 はてダもグループも終わってしまって以来どうにもモチベーションがわかなくて、このブログも存在を忘れてしまったかのような状態だったのですが、ひさしぶりにいろいろ告知をするために重い腰を上げて出てきました。 近況について まず、お仕事について。荻野ことogijunは今年の3月からプログラマ復帰しまして、株式会社iCAREにジョインしています。業務委託とか技術顧問とかじゃなくて社員としてガチ入社です。 え、コーヒー屋はどうするの?と思った方もいるとは思いますがご安心(?)ください、やめてません。平日は8時間フルタイムでプログラマとして働いた後、戻ってきて夜に店を開けたり焙煎…
仕事で携わっているウェブアプリケーションでは、DBのマイグレーションにgolang-migrateを使っています。DBをマイグレーションするだけのツールとしてはこれで十分なのですが、現在のスキーマダンプ、Railsでいうところのdb/structure.sqlをダンプする機能がなくて困っていたので、それ相当のファイルを作成する方法を考えました。スキーマダンプには DBスキーマの信頼できる情報源となり、現在のスキーマを概観できる ダンプにスキーマのバージョンが記録されていて、バージョン管理システムの異なるブランチで同時に作業したとき、両方をマージしようとするとコンフリクトするので不整合に気づきや…
プログラミングを本格的にスタートして5ヶ月目に入りましたさかもとです。 今回はbundle execを使用する意味が曖昧だったのでアウトプットしていこうと思います。 今回のエラー The `rubocop' command exists in these Ruby versions: 2.6.3 2.6.4 rubocopを導入しファイルを生成するためにgithubを参照しながらgemを入れbundleし、rubocop --auto-gen-configをターミナルで打ったところ上記エラーが発生しました。 思考 初めて見るものだったのでとりあえずエラーメッセージを見てみるとどうもこのruby…
思い立って 去年の秋から学び直しをはじめました。 コロナのせいでどこにも出かけられないし、今は自分を磨く時間を作ろうとスタートしました。 まず手を付けたのがプログラミング。 学生時代に少しだけ勉強したことはあったものの、何年も前の話だしほとんどわからないことだらけ。 作ってみたいものがあるわけでもないけれど、楽しそうだし、パソコン好きだし、理由はそれだけでした。 プログラミング学習について検索して出てきたのがProgateというサイト。 私が学生だったときでは考えられないような、そうそうこう言うの勉強したかった!と思う学習スペースでした。 そこで11月から3月まで「HTML & CSS」「Ja…
Tl;Dr それは何? 構成は? がんばるぞい bot の歴史 (興味がない方は読み飛ばしてください) ペンギン村 Slack では昔から がんばるぞい bot が稼働していました。 それは Slack bot と呼ぶには単純すぎるもので、「がんばるぞい!」や「がんばったぞい!」などと書き込むと、ランダムでキャラクターがメッセージを返答してくれるという、まぁがんばる人を応援しちゃうぜ的な bot でした。 そんな、がんばるぞい bot ですが実は2度もスクラッチで書き直されています。 初代: JavaScript / AWS Lambda もっとも初期のサービスは JavaScript / A…
こんにちは、りゅうじです。 bundle exec rails seed_fu と rails db:seed どちらも初期データを入れるために使いますが違いを勉強したのでアウトプットします。 結論 seed_fu を使うのが、初期データの入れ方としては良い。 rails db:seed 何も考えずに使うと実行するたびに同じデータが登録されてしまう。 seed-fuは、すでに存在しているが変更したいレコードだけ更新したり、ファイル単位で実行できたり、簡単に書けるようなシンタックスシュガーがあったりと便利です。 シンタックスシュガーとは プログラミング言語で、ある構文を別の記法で記述できるように…
こんにちは、プロダクトエンジニアリング部のちょうです。天気もすっかり春になった気分ですね。気温がさむくなったり暖かくなったりするので体調管理を十分気をつけましょう。 さて、コンテナ技術の流行りとともに、AWS ECSなどを利用して機能を提供するサービスが増えたと思います。ただ、EC2インスタンスからECS serviceに変わる際に、実際インフラレベルの内容が複雑になることが多く、いままでできたことをどうやってECSで実現できるかを調べないといけないです。その一つはサーバーに入って、調査したり、作業したりすることです。 ECSにはEC2とFargate二種類があります。EC2は名前通りEC2イ…
はじめに アンドパッドの土方です。 最近エンジニア採用に携わっております。今回はアンドパッドの開発組織について紹介したいと思います。 はじめに 開発組織のミッション テクノロジーを武器に社会変革にチャレンジする 開発組織が取り組んでいること 開発の進め方、チーム 技術顧問の参画 継続的アウトプット 開発における様々な改善活動を行っています エンジニア組織 プロダクト開発部門 品質管理/保証部門 テクニカルサポート部門 アプリケーション基盤部門 SRE/データ基盤部門 技術スタック 終わりに 開発組織のミッション テクノロジーを武器に社会変革にチャレンジする 私たちの開発しているANDPADは、…
2021/04/15分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activerecord/CHANGELOG.md Only update dirty attributes once for cyclic autosave callbacks. Update the "getting started" guide to Rails 6.1 rails guideのGetting Started with Railsの修正です。 各箇所のRailsのバージョンを6.0 -> 6.1に修正しています。 upsert_all fails cleanly for MySQ…
コンソメスケブ受付してます(🐦) ツイートURL:https://twitter.com/1311966856140390400/status/1382707546293743618 ツイート:やっとGoogle Apps Scriptの勉強できそうだ †kitune_game†🦊(🐦) ツイートURL:https://twitter.com/754767361459183600/status/1382689466649866241 ツイート:Google Apps Script、 簡易的なWEBアプリケーションをサーバー維持なしに運用できる点で有用だけど、 javascript で書かなけ…
皆さんの自己紹介はおんもしろい 今日は一日中お腹が満たされた一日だった。昼から、とは言っても12時にはなっていなかったが、台湾ラーメンを食しに行った。ちぢれ麺で後味が甘いのが特徴のラーメン屋さんだ。一口スープをすすってこれは美味しいとなってしまうほどだ。また行きたい。 午後からは、自己紹介イベントが行われた。色々な経歴を持っている人を知り、まだまだいろんな人と出逢いたいなと思った。機会があればお話を聞きたいな。 昨日、時間を決めてやることを意識して取り組んだら、音楽を聴くことも少なくなったし、チャットアプリの閲覧時間も減った。これを継続して、自由な時間を自分へのご褒美感覚にすれば、楽しく乗り越…