2020-02-01から1ヶ月間の記事一覧
やりたいこと Railsアプリのフォームヘルパー内で、submitボタンにBootstrapのbuttonデザインを適用させたい。 ~ = f.submit # これにBootstrapのボタンクラスをつけたい。 解決 CSSぽくクラスをあてるだけ。 = f.submit nil, class: 'btn btn-primary' これ…
やりたいこと ActiveStorageを使い、Railsアプリに画像をアップロードする機能をつけたい(development環境)。 環境 Rails 6.0.2.1 ruby 2.6.5 MacOS/Homebrew 試作アプリをつくる active_storageというRailsアプリを作る。 続いて、簡単なブログ機能を作成…
「やべ、コミットメッセージをタイポしちゃった」てなとき。 --amendオプションを使う。 $ git commit --amend -m "修正したメッセージを入れる" するとこれで最新のコミットのメッセージが修正できる。 コピペ用に。 git commit --amend -m "" Gitでcommit…
やりたいこと Rails をはじめよう - Railsガイドでブログにコメントをつける機能の実装をしていたときのこと。 これを こうしたい。 つまり、pタグ内に=で始まる変数を入れたい。 なおerbではなくslimを使っている(タイトルが適切に表現しているかはわから…
前回の記事の続き。 k-koh.hatenablog.com やりたいこと 環境 Facebookアプリの用意 Rails側の実装 必要なgemをインストール .envファイルを作成 devise.rbに追記 Userモデルにカラムを追加 コントローラーを作成 SNS認証をしたときのコールバック処理を定義…
例:BooksテーブルからAuthorカラム(string)を削除する場合。 bin/rails g migration RemoveAuthorFromBooks author:string changeメソッドではなく、up、downメソッドを使って書く。 class RemoveAuthorFromBooks < ActiveRecord::Migration def up remov…
ファイル名で検索する command + p これでファイルを検索し、お目当てのファイルがあれば表示できる。 たとえば、railsでroutes.rbを表示したいとき。いちいち左のカラムから探すのは面倒。 command + pを押すと もはや「最近開いたファイル」で選べる!便利…
やること 開発環境 deviseを使う準備 viewファイルの作成 Userモデルを作成する テーブルに保存される内容をチェック マイグレーションを実行 現時点でのルーティングを確認 一旦コミットする コントローラーを作成 app/views/home/index.html.erbに追記 app…
やりたいこと Markdown記法で貼った画像が大きすぎるので小さくしたい Qiitaに投稿した画像が意外と大きかったのでwidthを指定したい 方法 元のMarkdown記法 ![画像.jpg](***.jpg) 次のように変更する。 <img src="***.jpg" width="300"> widthを%で指定することもできる。 <img src="***.jpg" width="50%"> 例 たとえば、こ…
イシュー app/javascript/tasks.jsに書いた、オリジナルのjsファイルを読み込みたい。 バージョン:Rails 6.0.2.1 解決 app/javascript/packs/application.jsにrequire("tasks")を追加する。 require("@rails/ujs").start() require("turbolinks").start() r…
問題 「現場で使えるRuby on Rails5 速習実践ガイド 5.2対応」で勉強していたときのこと。 メールが送られているか確認するため、mailcatcherというメールテストのgemをインストールした。 しかし、mailcatcherコマンドを実行しても起動しない。 $ mailcatch…
やりたいこと 今作業している変更を取り消して、最新のコミット状態に戻したい 「うわ、この変更まずいかも?前のに戻したいなぁ…」 「ちょっと試した変更、微妙だったわ。戻そ」 「やば、間違えてこのディレクトリ消しちゃった!」 みたいなとき、どんなgit…
rails cをsandboxモードで実行すると、データベースに変更が加わらない。 rails c -s or rails c --sandbox sandboxモードはそれ自体がひとつのトランザクションになり、終了時は自動でロールバックされる。
問題 RSpecを実行してもテスト名が表示されない。 $ bundle exec rspec spec/system/tasks_spec.rb Capybara starting Puma... * Version 4.3.1 , codename: Mysterious Traveller * Min threads: 0, max threads: 4 * Listening on tcp://127.0.0.1:52270 .…
rubocop --auto-correct bundle execをつけるなら bundle exec rubocop --auto-correct -aに省略もできる。 bundle exec rubocop -a
やりたいこと 自分が作ったGitHubのprivateリポジトリにコラボレーターを招待したい 流れ 該当リポジトリの「settings」へ 左にあるカラムの「manage access」へ 「Inviate a collaborator」をクリック コラボレーターに招待したい人のGitHubユーザーネーム…
問題 code . 該当ディレクトリへ移動し、ディレクトリをVScodeで開こうと上記コマンドを実行すると、以下のエラーが出る。 Error: ENOENT: no such file or directory ~ Library/Application Support/Code/clp/~/corrupted.info 調べると、「Error NO ENTry…
VScodeを開き、コマンド + ,で設定を開く。 ウィンドウに以下を入力。 window.title 設定が出てくるので、これを好きにカスタマイズすればOK。 デフォルトだと次のように設定されている。 ${activeFolderShort}${separator}${rootName} それぞれの設定につい…
すでにマイグレーションをして、あとから特定のカラム属性にインデックスをつけたい場合 まずマイグレーションファイルを作成する。 例えば、Usersテーブルのemail属性にindexをつけたいとする。 rails g migration add_index_email_to_users 生成されたマイ…
Railsでは、画像のパスを指定する方法によって、参照するディレクトリが変わる。 相対パスで指定する場合はapp/assets/images/を参照する <%= image_tag 'test.jpg' %> このように指定すると、Railsはapp/assets/images/test.jpgにあるものとして参照する。 …
環境 Vagrant 2.2.2 NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" rbenv 1.1.2 ruby 2.7.0 問題 MacOS環境だと問題ないのだが、vagrant環境でRailsサーバーを起動中、コードを変更しても反映されない。 コントローラー、モデル、ビュー、ルートなど…
みんなのヒーロー、ブルーハーツの「人にやさしく」の歌詞についての自分なりの解釈。 ふと思ったのでメモしておく。 この歌は、「人にやさしくする」ということはどういうことか、を考えさせてくれる。 また、甲本ヒロトにとっての「やさしさ」の定義を垣間…
idを持っていないルートの場合 まだidを持っていない、新規のリソースに対するルート(コレクションルート)を設定するとき。 resources :books do collection do get 'search' end end 結果 booksのリソースフルルート(一般的な7つのルート)に加えて、1番…
結論 コールバック:データベースへデータを登録する処理の前後に実行される モデルを使ってテーブル更新するときらへんの処理 before_validationやafter_validationなど フィルター:モデルの処理も含むアクションの前後に呼び出す コントローラーのアクシ…
app/controllers/application_controller.rbに以下を記述。 class ApplicationController < ActionController::Base USERS = { "admin" => "admin" } before_action :authenticate private def authenticate authenticate_or_request_with_http_digest do |u…
たとえば、/entriesというURIではなくrentalsにしたい場合。 Rails.application.routes.draw do resources :entries, only: [:new, :create, :destroy, :index], path: :rentals end path: :rentalsをつけて、パスだけを変えている。 これでrails routesでル…
結論 Ruby 2.7.0 にgemのアップデートがまだ追いついてないっぽい 一時的に警告が出ない設定にする ただし、バージョンアップで改善された場合は設定を取り消すべし 環境 ruby 2.7.0 Vagrant Ubuntu Rails 6.0.2.1 rbenv 1.1.2 OSはUbuntuだが、MacOSでも共…
MacOSでもLinuxでも共通する方法。 設定に必要なファイルをまずダウンロードする。 curl https://raw.githubusercontent.com/git/git/master/contrib/completion/git-completion.bash -o ~/.git-completion.bash もしかしたらLinuxだとcurlコマンドが入って…
やりたいこと rails cでRailsのコンソールに入り、データベースの構造(スキーマ)をサッと確認したい カラム名を知りたい 方法 rails c モデル名.column_names たとえばUserモデルなら [1] pry(main)> User.column_names => ["id", "name", "email", "passw…
問題 Railsで開発中、rails sでサーバーを起動するとたまに次のエラーが出る。 ActiveRecord::PendingMigrationError Migrations are pending. To resolve this issue, run: rails db:migrate RAILS_ENV=development ActiveRecord::PendingMigrationError 解…