地方でリモートワーク

プログラミング、先物、fx,仮想通貨なんでもやります

Rails

railsのroutesの書き方について

こんな考え方もあるらしいです。 medium.com 今回のプロジェクトで取り入れることになりました。 実際書いてみてどうなのかはプロジェクトが終わってから書きたいと思います!

google oauth2でrefresh_tokenが返ってこない時に試してみること

googlecode.blogspot.jp railsでgoogle adwords apiを使う案件があるのですが、refresh_tokenが返ってきたり返ってこなかったりしたのでメモ。 結論から言うと、下記パラメータをリクエストのURLに必ず付与してあげるとrefresh_tokenが必ず返ってきます。 ap…

railsでCould not find a JavaScript runtime.が出た時の対処法

nodejsをinstallして対応した。 環境 ubuntu 16.04 LTS nodejsのインストール sudo apt-get update sudo apt-get install nodejs # npmもinstallしておく sudo apt-get install npm nodejs -v

jbuilderでもlayoutファイルを使いたい!

Ruby or Railsで期間内で一定間隔ごとの時間を作成する方法

from_delivery_timeとto_delivery_timeというtime型のカラムを持っています。 この時間内で、一定間隔ごと、例えば30分毎の時間の配列を作成します。 [4] pry(main)> ChefFood.first.from_delivery_time ChefFood Load (2.0ms) SELECT `chef_foods`.* FROM `…

Railsでカスタムフォントを使う時の指定方法

Aws::Errors::MissingCredentialsError: unable to sign request without credentials setが出た

Railsのvalidationで複数contextを指定する方法

Deviseでメールアドレス変更時に確認メールを送信しない方法

productionモードでrakeタスクを走らせる方法

RubyやRailsで処理時間を計測する方法

ransackで'1'や'0'を渡せない

Railsコンソールでモデルのアソシエーションリストを出力する方法

Model.reflect_on_all_associations.map { |a| a.name.to_s }

Railsでajaxでもflashメッセージを表示する方法

Railsでajaxでもflashメッセージを表示する方法です。

active adminのheaderメニュー名を変更する方法

active adminのheaderメニュー名を変更する方法です。

RailsでflashメッセージをBootstrapで表示するスマートな方法

RailsでflashメッセージをBootstrapで表示するスマートな方法です。

javascriptが動かないときの対処法メモ

javascriptが動かないときの対処法メモです。

nested_attributes_forで削除予定のレコードを検知する方法

nested_attributes_forで削除予定のレコードを検知する方法です。

Railsで関連レコードまで複製する方法

Railsで関連レコードまで複製する方法です。

railsのwhere検索で名前つきplaceholderを使う

User.where("email LIKE ? OR username LIKE ?", '砂糖', '太郎') 2つくらいなら?でplaceholderでも問題ない気はします。でも、これが3つとか4つになってくるとわかりづらいです。 User.where("(fooable = :true AND foo_id = :foo_id) OR (barable = :tru…

複数のrakeコマンドを同時に行うrakeタスクを作る

Railsで開発しているときに、migrationファイルを変更したり、コンソールでゴニョゴニョしてデータをいじって(sandboxで入ればいいのだが)、とりあえずすっきりしたいときに毎回複数のrakeコマンドを入力しています。 具体的には rake db:migrate:reset rake…

Railsでリロードしないとページ遷移しないときの対処法

turbolinksをoffにする。 具体的にはマニュフェストファイルから削除すればOKです。 # app/assets/javascripts/application.js //= require turbolinks これを削除する 本当はturbolinksを有効にしても,javascriptが動作するようにするべきなのですが、 削除…

RailsでRSSリーダーを作るチュートリアル

RailsでRSSリーダーを作るチュートリアルです。

Rails rubyでcustom loggerを作った

custom loggerを作った Railsの吐き出すlogとは別に,独自のフォーマットで吐き出してくれるloggerを作りました。 ほとんど、参考サイトのままです。 Railsでcustom log(file)の作り方 - kinopyo blog カスタマイズしたのは以下の点です。 タイムスタンプだけ…

deviseのconfirmableの仕組み

deviseのconfirmableを使うには対象modelで宣言 devise :confirmable 必要なカラム class AddConfirmableToUser < ActiveRecord::Migration[5.0] def change add_column :users, :confirmation_token, :string add_column :users, :confirmed_at, :datetime …

activeadminのcsvダウンロード(SJIS)でエンコードエラーが起きたので対処してみた

activeadminでSJISでcsvダウンロードしたかったので、optionを渡しました。 # config/initializers/active_admin.rb config.csv_options = { encoding: 'CP932' } しかし、これだとエンコードエラー。 モンキーパッチを当ててみました。 encodeメソッドを繰…

RansackはRailsのenumに対応していないっぽい

Railsでenumを定義していれば、対応するintegerでもstringでも検索ができます。 MailMagazine.where(status: 'sent') MailMagazine.where(status: 1) しかしransackで`status_eq'を使って文字列を渡すと,必ず0が渡って正しく検索されないようです。 pry(main…

メール送信の非同期処理にsidekiqを使ってみた

参考にさせていただいたサイト sidekiqの使い方 - Qiita 秩序のないメール送信に Sidekiq (with Active Job) - Qiita sidekiqを使うとメールを非同期処理できます。 ただ非同期処理をするとログが出ないので、ログを仕込んだ方がいいです。 また、実装段階で…

Railsで部分テンプレートを使うときの注意点

kadoppe.com まさにこれです。 部分テンプレート内でインスタンス変数を使うと再利用性が一気に下がるのでやめましょう。

Railsでpublic以下に置いたassetsのダウンロードリンクを設置する方法

<%= link_to 'エクセルダウンロードリンク', '/system/hoge.xls', target: '_blank' %> target blankは任意です。 今回,hoge.xlsはpublic/system/以下に配置しています。 public以下の任意のdirにおけばルーティングもコントローラも不要でlink_toのみで書け…