→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
Railsで画像アップロード機能を作成するときにどんな方法があるかな?と調べたら、Rubyの機能で保存できそうです。 方法 File.binwrite("保存したい画像のパス", "アップロードした画像ファイル".read) 保存した画像のパスは、ファイル名を付与した状態で設定が必要です。 Railsだと以下のような感じですかね File.binwrite("public/ファイル名", "アップロードした画像ファイル".read) こんな感じでアップロードはいけます。 実際に公開するときはS3などを使うと思いますが、知識不足のため必要になったらまとめようかな?
Rails モデルの関連付け"has_many"とは has_many ってなに? 他のモデルとの間に、「1対多」の繋がりがあることを示す。 ※反対側のモデルにはbelongs_toが使われることが多い。 規則 has_many関連付けを宣言する場合、相手のモデル名は複数形にする。 例 ユーザーがそれぞれメッセージを投稿できるアプリがあるとする。 モデルクラスは、UserモデルとPostモデル。 Userモデルに has_many :post Postモデルに belongs_to :user と入れることで、1対多の関連付けができる。 つまり、 User : 多数のpostを持つ。 Post…
データベースのカラムにコメントを追加していくシリーズ。 今までの経緯はこちら。 patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com ここまでで、I18nを使ってデータを突っ込んだので、残りはそれらで漏れたテーブル・カラム群となります。 コメントのないカラムを抽出する まずはbin/rails consoleでやっていきます。 tables = ApplicationRecord.connection.tables + ApplicationRecord.connection.views table_wi…
これまでの道筋 herokuでのデプロイ手順 herokuに会員登録する heroku CLI (コマンドラインインターフェース)をインストールする herokuにログインする $ heroku create PostgreSQLのインストール git commit実行し、git push heroku master マイグレーションを行う URLを開く これまでの道筋 railsで作ったアプリをAWSでデプロイを試みるも、うまくいかず。。 今回は、試しにherokuでデプロイしてみることにしました。 herokuでのデプロイ手順 herokuに会員登録する Heroku CLI (コマンドラ…
はじめに 変数を確認したり、メソッドを呼び出す為の、デバックツールの導入方法のメモになります。 Gemfileに記入する Gemfile 記入前 group :development do # Access an IRB console on exception pages or by using <%= console %> anywhere in the code. gem 'web-console' gem 'listen', '~> 3.0.5' # Spring speeds up development by keeping your application running in …
これまでの道のり Linuxコマンド chmod、chownなどの違い パーミション権限の確認 今現在ログインしているユーザーを調べる ユーザーやパスワードに関する情報は /etc/passwd に lessコマンド というか、Linuxに関して分かってなさすぎな件 まず、この記事では何も解決しません。 エラーで苦しんだり、とにかく知識を得たい!という人はこの先は読まないでください。 これまでの道のり AWSを使っての初デプロイってこんな険しい道なのか。。 というか、それ以前にAWSだけでなく、Linuxの知識が無さすぎてホントに細かい部分で躓いてしまうので、結果ものすごい遠回りをしてしまって…
RSpecを導入してテスト書くぞ書くぞ! 元々テストは書きたかったんですよね 今回は導入までです。 導入 gemファイルに以下を追加する。 gem 'rspec-rails', '~> 3.9.1' rspecのバージョンは各々指定いただけたらと。 RSpecのインストール 以下のコマンドを叩く rails generate rspec:install とりあえず導入はできたはず。使い方はこれから・・・
こんにちわ、168です。今回は新規アプリの作成方法についての記事を書こうと思います。いくつもの新規アプリを作る中で、自らが覚えられていないところなどあると思いましたので、より記憶の定着のために書きます。 新規アプリ作成 [ターミナル] rails new [新規アプリ名]このとき作成に時間が10分ほどかかります。[ターミナル] Webpacker successfully installed 🎉 🍰と表示されれば完成です。 作成ができているのかの確認 [ターミナル] cd ~/projects/[新規アプリ名] rails sホームページよりhttp://localhost:3000/を検索し…
deviseではログイン後のリダイレクト先を簡単に変更することが出来ます。 application_controller.rbとかに以下のように記述することで変更可能です。 def after_sign_in_path_for(resource) mypage_path end mypage_pathは適宜リダイレクト先を変更すればいいかと。 どうやらdeviseで用意されているメソッドをオーバーライドすることで対応可能らしいです。
RailsのProjectで初期データをLoadするためのToolとしてseed.rbというものがあります。架空のデータを入れる場合は100.timesなどでLoopを回して適当な数値や文字列を入れてしまえばいいのですが、外部サービスとの連携をテストしたい場合など、実際に存在するデータからseed.rbを作りたくなるケースがあります。今回はGoogle spreadsheetにまとめたデータをseed.rbの形式で吐き出す方法についてまとめます。 今回は地図上の場所(Place)について、場所の名前、国、州、都市、経度、緯度を格納していきます。Rails上も"Place"Modelが存在してい…
更新日:2021/2/28(日) Railsで、任意の数値を合計する方法を知りたい。 今回は、上記の質問に答える記事です。 本記事を読むことで、 ・任意の数値を取り出す方法 ・数値を合計する方法 ・重複する文字列を省いて取得する方法 上記が分かりますので、是非お付き合い頂ければと思います。 // 【目次】 【Rails】任意の数値を合計出力する:例題 【Rails】任意の数値を合計出力する:例題の模範回答 【Rails】任意の数値を合計出力する:例題の解説 【Rails】任意の数値を合計出力する:最後に 【Rails】任意の数値を合計出力する:例題 任意の3つの数値(a,b,c)の合計を出力す…
こんにちわ、168です。 前回に引き続きタイマーアプリを作成しましたので、アウトプットを行います。 今回はストップウォッチをモチーフに、データがなければ時間を計測し、データがあれば時間をカウントするものを作りました。 タイマーのメインコード app/views/times/index.html.erb <!DOCTYPE html> <h1>StopWatch</h1> <div class="main"> <div class="timer"> <div class="timer-frame"> <form name="timer" class="timer-time"> <div clas…
今回はデプロイのお試しとして、Ruby on Rails で作成したプログラムを Heroku へデプロイしてみたいと思います。 以前、Java Servlet で実施した Ruby on Rails バージョンです。 phoeducation.work Heoku とは Webアプリケーションの準備 Gemファイルの準備 Heroku へのアカウント登録 Heroku CLI ツールのインストール Herokuにログイン Heroku にデプロイする デプロイしたアプリの動作確認 まとめ 参考図書 Heoku とは Heroku とは、PaaS(Platform as a Service) …
こんにちは、しおはまです。 今回はransackという検索機能を実装できるgemの使い方をまとめてみます。 ransackとは 冒頭で説明した通り、ransackは検索機能を簡単に実装することができるRailsのGemです。 検索機能を実装することで掲示板やToDoアプリ、その他WEBアプリにおいて検索機能が実装されているとなにかと便利です。 それでは使い方をみていきます。 ransackのインストール まずはGemを使うためにGemfileにransackを追加していきます。 gem 'ransack Gemfileに追加したらbundle installして準備完了です。 ransackの…
deviseに伴ってsmtpサーバの設定でgmailアカウントが必要になりました。 そのため、dotenvを導入しました。 dotenv-railsをインストールする Railsではdotenv-railsというgemを導入することでdotenvを使用することが可能となります。 使い方 Railsプロジェクト直下に.envファイルを作成し、環境変数を設定出来ます。 SET_USER = sample こんな感じで設定出来ます。 実際のコードでは以下のように使用することで環境変数を読み込むことが可能です。 config.hogehoge = ENV['SET_USER'] 以上
1. 前提 まず config/routes.rb に # config/routes.rb Rails.application.routes.draw do mount Admin::Engine, at: "/admin" end は書かれていることと思う。 今回はその Admin::Engine の配下にある /admin/users を呼び出したいとする。 つまり、 admin/config/routes.rb には以下が定義済みとする。 # admin/config/routes.rb Admin::Engine.routes.draw do resources :users end…
こんにちは、こたろうです。 今日は私のこれまでのプログラミング学習についてまとめていきたいと思います。 まずはプロフィールから。 ■プロフィール ・現在31歳(1989年生まれ) ・出身:山形県山形市 ・現在の居住地:東京 ・現在の職業:メーカー勤務 ・現在の業務:サブスクリプションサービスの企画・業務基盤構築・業務改善・営業支援など ■プログラミング学習について(総学習時間:984時間 ※2021/3/2時点) ・2020/4~5:Progateでの学習(HTML/CSS/Sass/JavaScript/jQuery/git/Command Line/Ruby/Ruby on Rails) …
tmp/pids/server.pidのなかにある数字を削除 実行中のプロセスを確認 プロセス強制終了 メモ rails serverを起動しようとしたら、以下のようなメッセージがでた。 A server is already running. 〜〜〜 閉じるとき不具合があったのか、立ちっぱなしになっているみたいだったので、こちらの記事を参考に対処。 rails sをしたらtmp/pids/server.pidというエラーが出る件について - Qiita tmp/pids/server.pidのなかにある数字を削除 実行中のプロセスを確認 以下のコマンドで実行しているポート番号を探す。 $ l…
2021/03/02分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 railties/CHANGELOG.md Stop generating a license for in-app plugins. Stop generating a license for in-app plugins railties/lib/rails/generators/rails/plugin/plugin_generator.rb、 railties/lib/rails/generators/rails/plugin/templates/%name%.gemspec.ttの修正です。…
こんにちは!こたろうです。 今日はなぜ私がエンジニアになろうと思ったのかを書きたいと思います。 まずは私の自己紹介をします。 ■プロフィール ・現在31歳(1989年生まれ) ・出身:山形県山形市 ・現在の居住地:東京 ・現在の職業:大手メーカー勤務 ・現在の業務:サブスクリプションサービスの企画・業務基盤構築・業務改善・営業支援など ・現在プログラミング学習中(Ruby・Rails・JavaScriptなど) ■今の仕事について ・現在は大手メーカーでサブスクリプションサービスの業務改善の業務を行っています。社内的にも注力されているサービス・部署で責任のあるやりがいのある仕事を任せてもらって…
こんにちは。しおはまです。 今回はsorceryというGemを使ってパスワードをリセットする機能を実装する過程をまとめてみたいと思います。 sorceryとは そもそもsorceryってどういうGemなのか説明します。 Sorceryは、ユーザ認証機能を簡単に実装できるライブラリで、MITライセンスのオープンソースソフトウェアとして公開されています。 github.com ↑がsorceryのgithubです。 ユーザの認証の基本的な機能であるパスワード認証を始め、 User Activation Reset Password Remember Me Session Timeout Brute…
初めまして! こたろうと申します。 プログラミングを勉強中のサラリーマンです。 今回ブログを解説したので、自己紹介をさせていただきたいと思います。 ■プロフィール ・現在31歳(1989年生まれ) ・出身:山形県山形市 ・現在の居住地:東京 ・現在の職業:メーカー勤務 ・現在の業務:サブスクリプションサービスの企画・業務基盤構築・業務改善・営業支援など ■経歴 <高校時代(山形県)> ・3年間バスケットボール部に所属し、県ベスト8の結果を残しました。 <大学時代(宮城県)> ・学部学科:法学部法律学科 ・部活・サークル:夜関連バスケットボール部(週4回の活動)と、いわゆる飲みサー(不定期開催)…
1月末でフラーを退職して、2月頭からREADYFORで働いています。 Ruby / Rails をしっかり書くのは初めてなので、色々触りながら「う〜ん、これはいかんな・・・」とか試行錯誤してる毎日です。 俺はやるぞ!何かを!— shmokmt / Shoma Okamoto (@shmokmt) 2020年10月9日 転職の決めて VP of Engineeringの伊藤さん からスカウトをいただき、転職しました。 個人的にはガバナンスが効いており、CTOやVPoE、EMなどの技術経営やマネジメントをするポジションが確立されているというのが大きな決め手となりました。 エンジニアの人数が一年で2…
結論 githubactionsでLoadError: libffi.so.6のエラーが出ている場合、 以下を実行させると一応通るようにはなる. sudo ln -s /usr/lib/x86_64-linux-gnu/libffi.so.7.1.0 /usr/lib/x86_64-linux-gnu/libffi.so.6 原因 github actionsのosのubuntsuを20.4にアップしているのが問題のよう。 gemとかrailsが libffi.so.6をみてて、20.4のubuntsuは7か8をみているようです。 Run bundle exec rails db:schema…
今日はUdmeyの「フルスタックエンジニアが教える 即戦力Rails エンジニア養成講座」から、Rubyの基礎構文について初学者なりにまとめていきます。 ①Rubyの特徴 ・インタプリンタ型言語 コードを実行するタイミングで逐一機械語にコンパイル(翻訳)してくれるため、手軽にコードを実行できる。 ・オブジェクト指向言語 特定の処理を行うメソッドのまとまりをオブジェクトと呼びます。 例えば文字列のオブジェクトであれば、 文字データを持っていて、文字数をカウントするlengthメソッドが使用できます。 ・構文の自由度が高い 一つの機能を作るにも様々な書き方ができる。 構造や可読性はプログラマーの腕…
3月2日(火)やっていきます。 ●テックキャンプで学んだこと RUBYドリルでif⇨unless書き換えと、繰り返し処理 pictweet復習でコントローラ作成について 発展でRuby on Rails の基本理念 ●フォーゼロスタジオの配信ノルマ 2月27日から1週間 ・午前の配信40分×2 午前ノルマ1→07:53 午前ノルマ2→11:06 ・午後の配信40分×2 午後ノルマ1→16:16 午後ノルマ2→16:56 ・追加条件として18:30までにノルマ達成できたか? 可・不可→可 ペナルティカウント(2になった場合はコメントかギフトを頂いている方に500円のギフトを贈る) カウント:1 …
やりたいこと 新規プロジェクトでのrubocopの整備 やったこと gemの追加 group :development do # rubocop用に追加 gem 'rubocop', require: false gem 'rubocop-performance', require: false gem 'rubocop-rails', require: false gem 'rubocop-rspec' end bundle exec rubocop --auto-gen-config をすると、以下の通り.rubocop_todo.ymlと.rubocop.ymlとが生成されます。 参考 …
Rails モデルの関連付け メッセージアプリを作る教材をやっていたら、突然出てきた「モデルの関連付け」。 使い方はわかったけれど、この「関連付け」って一体なに?何のためにするの? 疑問におもったのでお馴染みRailsガイドで調べてみました。 関連付け(association) 目的 モデル同士を関連付けることで、コードの共通操作を簡単にできるようにする。 例 例えば、ユーザーがそれぞれメッセージ投稿を行えるアプリケーションを作っているとして。 UserモデルとPostモデルがあったとする。 もし関連付けがされていないと、 Userが1つ投稿するときは、Post.createに毎回user.i…