Ruby

rails urlからパラメータを削除する

これを https://example.com/?p=1&o=2これにしたいだけ https://example.com/ url = 'https://example.com/?p=1&o=2' uri = URI(url) "#{uri.scheme}://#{uri.host}#{uri.path}"以上です

rails modelのenumのキーと値を取得する

これだけだった 複数形にしてアクセスできるみたいmodel class User < ApplicationRecord { enum status: { valid: 1, invalid: 2, deleted: 9 } }呼び出す側 # キーのリスト User.statuses.keys # 値のリスト User.statuses.values以上です

rails レスポンスヘッダーをログ出力する

devise_token_authが返すレスポンスヘッダーをログに出力したくて調べた内容をメモしておく。app/controllers/application_controller.rbのafter_actionでheadersやresponseに入っていると思ったのだが期待した値はなく。controllerのaction実行後にdevise_t…

【Rails】プロジェクト作成手順(カレントディレクトリに)

何度も似たような事書いてる気がするけど。プロジェクトごとにrubyのバージョンを設定してrailsインストールして、同ディレクトリにrailsプロジェクトを作成する手順。ついでにMySQLも。 # install可能なバージョンを確認(Ruby, Rails) $ rbenv install -ls …

【rails】check_boxでchecked_valueとunchecked_valueをセット

フォームヘルパーを使う上でかなり基本的な使い方かとは思うけどハマったのでメモしておく。 check_box :user, :is_magazine, :checked => @user.is_magazine, :checked_value => true, :unchecked_value => false // -> <input type="checkbox" name="user[is_magazine]" value="true" />未チェックの場合でも簡単にデータ送…

【Rails】update where in について

最初こうやってたけど、updateが複数回実行される形だったので非効率だった。 ids = [1, 2, 3] values = Array.new(ids.size, {status: false}) User.update(ids, values) # => update users set status = 0 where id = 1 # => update users set status = 0 …

【Rails】has_many through について

最近、active recordをダラダラいじってるけど全然慣れない。。今回は少しでも理解を深めるために「has_many through」構文?のオプションを省略せずに書いてみたのでメモとして残して置く。テーブル構造は、以下のようにrailsの規則どおりのもの。 users(id)…

【Rails】where like検索の使い方メモ

今回やりたかったことはjoin先のテーブルからLIKE検索したかった。今回使うモデルは2つで以下の形。 class Category < ApplicationRecord has_many :movies end class Movie < ApplicationRecord belongs_to :category endこんな感じでできた Movie.joins(:c…

【rails】authenticate_with_http_token を使ってapiの認証機能を実装する

はじめに 今回やりたかったことはアプリからのリクエストを受け付けるapiの開発。やりたいことと流れは以下のようなイメージ・Emailとパスワードでログインを行う ・ログインに成功したらトークンと有効期限を発行してクライアントに返す ・クライアントは毎…

rails console で group by の結果を確認

やりかったことはemailが重複しているレコードの件数をしらべたかっただけ。 実行されているSQLが期待通りだったのでこれでいいのかと思ってたけど、全然期待した結果にならない。。 $ User.select('email,count(*)').group('email') > User.select('email,c…

rails5のapiモードを試した

はじめに 勉強もかねて簡単なapiをrailsで実装してみる。やりたいことは以下・ローカルPCで動作させてみる ・apiモード使ってjsonを返す ・dbからデータを取得する ・ページングに対応する ローカルPCで動作させてみる まずは rbenv を使って ruby環境でrail…

rbenvを使ったローカル環境にrailsをバージョン指定してインストール

たまにやりたいときがあるけど毎回調べてる気がするので手順をメモしておく。 # 作業用ディレクトリ作成 $ mkdir test $ cd test # rbenvでインストール可能なrubyのバージョン確認してなければインストール $ rbenv install -l $ rbenv install 2.4.1 # こ…

【Rails】rubyで初めてwebサイト作ったのでざっくり手順をまとめておく

はじめに railsを使った簡単なWebサイト作ってみたので作業手順を簡単にまとめておく 作るものは簡単な動画(Youtubeの)まとめサイト動画一覧ページと動画視聴ページの2画面のみ一覧画面 詳細画面 テーブル設計 以下の2テーブル・categories(動画のカテゴリー…

【Rails】kaminariでのページャーリンクにパラメータを追加する方法メモ

https://github.com/amatsuda/kaminari/issues/339 ここにあったviewファイル <%= link_to_previous_page @videos, '前へ', :params => { hoge: "piyo" } %> <%= link_to_next_page @videos, '次へ', :params => { hoge: "piyo" } %>※@videosはここでの適当…

【Rails】多対多のリレーションでhas_and_belongs_to_manyを使って検索する方法メモ

はじめに 今回やりたかったのは2つのテーブルの関連テーブルを設けてそれぞれ紐づいている状態のデータを検索すること。 ありがちなテーブル構造だと思いますが、以下のような形です・categories(動画のカテゴリー) idカテゴリーIDPK nameカテゴリー名 ・vid…

【Rails】マイグレーションの基本的な使い方メモ

はじめに マイグレーションは別のフレームワークでもほとんど使ったことがなかった。 が、とりあえずrailsでの開発では慣れるためにというのも含めて積極的に使ってみようと思う。 で、基本的な流れをメモしておく 新規でテーブル作成 ひな形を作る(ここでは…

【Rails】ActiveRecord入門とりあえず使えるようにまとめておく@初心者

はじめに Railsをすこしいじり始めて、DBも使いたいのでActiveRecordをいじってみる PHPのフレームワークではORMをほとんど使った事なかったので(喰わず嫌いで)、ちょっと新鮮だった。とりあえず一般的というか複雑でないSQLは使えるようになりたいというこ…

【Rails】centos・apache・mysql環境にRuby on Railsの環境構築する方法メモ

はじめに CentOS6.7、apache2.2、MySQLの環境でRailsを動かすところまでをやりうとしたらけっこう時間かかったのでやり方というか手順をメモしておく。 今回はVagrantにて行った。また、RubyとRailsのバージョンは基本的に最新のものを入れてみた 前準備とし…