→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
非常に単純に実装できます。 実装方法 単純にパスの指定を/から始めるだけです。 image_tag "/hogehoge/fuga.jpg" みたいな感じでいけます。 Laravelだったらシンボリックリンクが必要だったような気がしたので、その点楽ですね。 ところで、image_tagヘルパーで実現できるのは分かったのですが、わざわざヘルパーを利用する必要ってあるのかな?って 何回か思ったりしていたりしています笑
Rails6 から Webpacker が導入されたため、flatpickr の導入がこれまでと異なり苦戦したので備忘録として記録します。 下記の記事を参考に導入しました。 dzone.com flatpickrの導入 1.Yarn に必要なライブラリをターミナルで追加 $ yarn add bootstrap jquery popper.js flatpickr2.jQuery を使用するためのコードを追記 config/webpack/environment.jsに記述 const { environment } = require('@rails/webpacker') const we…
こんにちわ、168です。 今回はジャンケンゲームを画像を使用して作りましたので、それのアウトプットをします。 コード app/views/games/index.html.erb <!DOCTYPE html> <head> <title>ジャンケンゲーム</title> </head> <body> <h1>ジャンケンゲーム</h1> <h2>あなたの手は?</h2> <img id='gu' src="/assets/janken_gu.png" onclick='gu()' class='size'> <img id='choki' src="/assets/janken_choki.p…
はじめに 10月からRunteqの課題取組中 駆け出しエンジニアです. 日々の学びをアウトプットします. 概要 削除できない? 原因 解決策 削除できない? 下のコードを実行したところ、削除ができていなかった. it 'Taskが削除されること' do visit project_tasks_path(task.project) click_link 'Destroy' expect(page).not_to have_selector '#task_list', text: task.title expect(Task.count).to eq 0 expect(current_path).…
はじめに 10月からRunteqの課題取組中 駆け出しエンジニアです. 日々の学びをアウトプットします. 概要 データを変更したもの呼び出したい 定義の仕方 呼び出し方 データを変更したもの呼び出したい FactoryBotを使用していると、1部のカラムのみ変更したデータを呼び出したいときがある. そういった時に便利なのがtraitだ. 定義の仕方 FactoryBot.define do factory :task do title { 'Task' } status { rand(2) } from = Date.parse("2019/08/01") to = Date.parse("2…
DBのカラムにコメントを追加するシリーズ、いよいよ最後。 テーブルにもコメントを付けていきます。 今までの記事はこちら。 patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com patorash.hatenablog.com テーブルを抽出する テーブルの抽出は今までもやっていたので簡単ですが、とりあえずbin/rails consoleから。 tables = ApplicationRecord.connection.tables 次に、このデータを元に、マイグレーション用のコードを書かせます。 tabl…
Railsで画像アップロードするときにディレクトリ有無を確認したかったので導入 File.directory?(確認したいディレクトリパス) これでアップロード先のディレクトリ有無を確認できました。 また、ディレクトリが存在しない場合、ディレクトリを作成するようにしました。 以下の通り、実装が可能です。 Dir.mkdir("作成したいディレクトリのパス") これで登録が可能です! しかし、これでやるとパーミッションの設定が必要らしいので後で見直しが必要かもしれません・・・ でもRuby標準機能でディレクトリの作成等が出来るので中々に便利だと思いました。
こんにちわ、168です。今回はジャンケンゲームアプリを作りましたのでアウトプットします。前回、アラームを行うためのアプリを作ると書いていましたが、ファイルを指定して実行させることができなかったので、別のアプリを作成しました。ファイル指定して実行させることができたら、その旨をアウトプットしていこうと思います。 コード app/views/games/index.html.erb <!DOCTYPE html> <body> <h1>ジャンケンゲーム</h1> <form name='player'> <h2>あなたの手は?</h2> <select name='janken'> <option>…
どうも! 大阪府松原市でウェブを中心としたソフトウェア開発を行っています。 コワーキングスペース松原ガレッジ管理人の五島です。 今日はすでに運用しているサービスのDBのお話。 特定のカラムに対して、ユニーク制約をつける前処理の話を少ししようかな〜と軽快に記事を書いてます! 目次はこちら ユニークを妨げる要素は存在するか まとめ ユニークを妨げる要素は存在するか すでに重複してるデータがある場合、それをまず取り除かないといけないわけです。 pluckを利用して要素をごっそり取ってきた後、配列の処理を行います。 Rubyには配列演算があるので ary1 = [1, 2, 3, 3] ary2 = …
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の知識が無さすぎてホントに細かい部分で躓いてしまうので、結果ものすごい遠回りをしてしまって…
こんにちは、masm11 です。 Rails に MessageEncryptor というクラスがあります。 何かを暗号化/復号する際に便利ですね。 例えば、 KEY = 'somekeysomekeysomekeysomekeysomekeysomekeysomekey' enc = ActiveSupport::MessageEncryptor.new(KEY, cipher: 'aes-256-cbc') としておけば、 data = enc.encrypt_and_sign(obj) obj = enc.decrypt_and_verify(data) で暗号化と復号ができます。 とこ…
2021/03/07分のコミットです。 CHANGELOGへの追加はありませんでした。 @rails/actiontext: depend on released @rails/activestorage actiontext/package.jsonの修正です。 dependencies内の@rails/activestorageのバージョン指定にalphaが含まれていたのを、リリース版を使用するよう指定を修正しています。 chore: fix spelling 各箇所のタイポを修正しています。 Add pointer cursor to Exception layout actionpac…
こんにちは。副業/在宅ワークについて調べています匠です。今回の記事は、「未経験でもプログラミングに勉強したい」というあなたのために、「まずは独学で挑戦してみたい」と考えているあなたに、未経験でも独学で挑戦する方法」について調べてみました。 結論から言うと「不可能ではありません」ただ、やみくもに勉強しても待っているのは「挫折」です。 独学でマスターするために必要なことをまとめましたので、参考にして頂ければ幸いです。 [目次] ①初心者でも独学でプログラミングに挑戦する。 プログラミングを始めるのに必要なものを用意しよう 独学の目安学習時間とロードマップを作成する その1.自分のレベルに合った教材…
はじめに (1)Apache設定ファイルの記述ミス (2)SELinuxが有効になっている おわりに はじめに こんにちは 最近はRuby on Rails5 Tutorialとポートフォリオ作成を進めていたのですが、PHPも扱ってみたいと思い、試しにVagrant+VirtualBoxの仮想環境をつくりPHPファイル(hello.php)をブラウザで表示しようとしました。 しかし(1)Apache設定ファイルの記述ミス、(2)SELinuxが有効になっていることが原因で表示ができませんでした。今回はそれらの解決方法を備忘録として残しておこうと思います。 ※PHP 7.3.27 (cli), …
こんにちは、おーしまです。今回は、就職が決まったのでその報告をします。 長く続いた、TECH:CAMPシリーズも終わりになります。個人的に少し寂しいですね。。。笑 2020年9月4日からTECH:CAMPに通い始め、10週間のカリキュラムを終え、11月13日くらいに卒業してこれまで転職活動をしてきました。 プログラミングは楽しいですが、転職活動は辛くて、できればもう就活はやりたくないです笑笑 このブログを書いているのが2021年3月7日なのですが、 実は、2月半ばに内定を頂いており、3月から働いております。 内定をいただいた企業はいわゆるベンチャー企業で、 社員4名、創立3年目の受託開発をメイ…
プログラミングを本格的にスタートして4ヶ月目に入りましたさかもとです。 今回はint属性の〜以上〜以下のバリデーションがかからなかった!という話をアウトプットしようと思います。 成り行き 課題 「int属性のwideカラムを追加し、100〜200のみ入力可能になるようバリデーションを設定してください」 私 「余裕ですね。validates :width, length { minimum: 100, maximum: 200 } これで100~200の間の数値しか受け付けないはず」 ブラウザで確認 。。。バリデーションが全くかからない 私 「????????」 原因 今回私がこのような状態にな…
フレームワークは枯れた技術の水平思考なのでは? 枯れた技術の水平思考をどう説明すればいいのかを考えてたとき、フレームワークを題材にすればいい、と思いました。世に出ているフレームワークを思い出したとき、どれも跳躍したようなアイディアではなく今まであった技術を再解釈された物が多いと考えました。コンポーネント指向も古くから合った。wikipediaだと1960年台には存在していて、かなり古い。オブジェクト指向を初めて実装されたと言われているSmalltalkも1980年台に発表されていてそれよりも古い。 これらの歴史を見ると、フレームワークとは、新進気鋭のかつてないアルゴリズムの発明ではなく、長い研…
gem 'pharaoh_lang'を作成する際、 GitHub - kenchasonakai/pharaoh_lang gem 'miyabi'を参考に作らせていただきました。 その際にmiyabi/lib/format.rbのようにpharaoh/lib/format.rbというファイルを作って pharaoh_lang/lib/pharaoh_lang.rbでrequireするように作りました。 rspecで問題なくヒエログリフ変換されることを確認し、リリース。 自分のアプリにインストールし、developmant環境で$ rails specを実行してみたところgem 'miyabi…
フィヨルドブートキャンプにて、プログラミングの学習を初めて27週間が経ちました。 個人の復習を兼ね、学習27週目の、1週間の学習経過をここに記録します。 (1週間=2021.02.27(土)-2021.03.05(金)) 今週の ObsidianGraph です。 index 学習した時間 学習を通して感じたこと 公式学習(プラクティスと日報)に加えて毎日/毎週末行っていること 学習した内容 一覧 1週間のつれづれ 次週1週間の目標学習時間 学習した時間 合計 16時間 00分 02.27(土) 3時間00分 02.28(日) 4時間00分 03.01(月) 2時間30分 03.02(火) 1…
Rails 6.1以上になってCSVなどをダウンロードさせるコントローラのアクションに def download render( csv: 'users_list', template: 'users/download.csv.ruby' ) end のように書いているとRSpecの実行時に DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: users/download.csv.ruby (called from download at ./app/controllers/users_contr…
はじめまして! 私をざっくり紹介すると、 ・幼少期 = 恐竜好き ・大学 & 大学院 = 地質学専攻 ・現在 = 地質屋 です。 なぜエンジニアになりたいの? そして、現在、エンジニアを目指してプログラミングを学習中(2021年3月1日で学習開始から200日目)です。 私は、これまで創った道を外れるのが怖くて、新たなチャレンジの機会を自分で消してる事に気づきました(いわゆるサンクコストバイアス)。 また、それと同時に、自己分析を重ねることで、仕事をする上で好きな「行為」が大事であることもよくわかりました。 【私の好きな行為】 ・より良いをさらにより良く改良する事。 ・自分の知識を相手に教え、分…
最近転職エージェントを使って転職したので、攻略や感じたことについてメモを書きたい。Web系エンジニアについて、社名を具体的に出すようなタイプの意識高い転職エントリは多いけれど、普通の転職活動の情報が少ない印象があるので、そういった参考になると良いと思う。 転職概要 業務経験約2年半で、年収400万円台から500万円台にアップさせるつもりで活動した スキルレベルはRailsのAPIモードのバックエンドとSPAのフロントエンドが書ける、インフラはチョットダケワカル、新機能開発プロジェクトの経験は比較的豊富、という感じ 転職エージェント経由で15社書類応募して3社に内定を貰い、年収約90万円アップの…
問題 原因の究明 ① capybaraが実際に動いているか? ② webpackerでコンパイルされているのか? ③ headlessを使用せずに、ブラウザ上で確認してみる。 解決策
rack-mini-profiler RoRのパフォーマンス計測をするgem。 公式では以下のように記載されている。 Middleware that displays speed badge for every html page. Designed to work both in production and in development. GitHub - MiniProfiler/rack-mini-profiler: Profiler for your development and production Ruby rack apps. htmlページごとにスピードバッジを表示するミド…
こんにちは丸山@h13i32maruです。1.5ヶ月の仮想無職をおえて、ついに3月1日から新しい会社(Ubie ユビーというヘルステックスタートアップ)で働き始めました。一週間働いてみて思ったのは、医療ドメインとUbieの事業構造(課題、ソリューション、プロダクト、マーケット)がおもしろい。これにつきます。医療ドメインは誰にとっても身近でありながら、その奥にはすごい森が広がってるみたいな感覚になりました。知的好奇心をうずうずさせるようなプロダクト開発が好きな人には凄く合うと思います。 そんな面白いことに関わるんだから早くパフォーマンスを出したい!というわけで、入社して一週間でやったことを残して…