PIYO - Tech & Life -

プログラミング

RailsのRakeタスクが定義される順番

Railsで使うRakeタスクは大きくわけて3種類あり、普通はこの順番で定義されることになっている。 gemのタスク アプリケーション固有のタスク Railsのタスク まずソースコードを読んでみた。 Rakefile # Rakefile require File.expand_path('../config/application',

routes.rbでresourcesを使ったときのパラメータをid以外にする

Railsではhas_manyな関連を持つモデルに対してRESTなルートを簡単に定義できる。 # routes.rb resources :blogs, only: [:index] resources :posts, only: [:index] end このようなルートが定義される。 % rake routes Prefix Verb URI Pattern Controller#Action blog_posts GET /blogs/:blog_id/posts(.:format) posts#index blogs GET /blogs(.:format) blogs#index このときのパラメータであ

Rubyで標準出力を文字列で乗っ取る

この間書いたこの記事のコードがDRYじゃないので少し修正した。 GrapeのAPIのエンドポイントをrake routes的に出力する - ぴよログやりたかったのは記事タイトルの通りで、Grapeで定義したA

Rails x PostgreSQL dbseed用sqlを作る

今日から文体を常体にする。 データベースに最初からデータを入れておきたい場合、Railsではrake db:seedを使う。このタスクによりRailsアプリケーションがロードされた状態でdb/seeds.

RailsのDBマイグレーションでカラムを変更する

あとからデフォルト値を変えたり、Nullableをやめたりってときのやりかたを忘れがちなのでメモ。 class MigrationName < ActiveRecord::Migration def change change_column :models, :column_name, :integer, null:false, default:0 end end こんな感じです。 change_column :モデル複数形, :属性, :型, {オプション}

Grapeを使ったAPI実装でのネストやパラメータ

Grapeをもう少し使ってみました。関連記事は↓ RailsのGrapeとJbuilderでAPI開発 - ぴよログ 基本形 # app/api/api.rb resource :items do get '/', jbuilder:'items' do @items = Item.all end end パラメータを受け取る 全てのItemではなく、idに該当す

RailsのRakeタスクを上書き・再定義するには

既存のRakeタスクと同名のRakeタスクを定義した場合、上書きではなく連続実行になります。確か。 Railsでフレームワーク側で定義されているRakeタスクが30ほどありますが、それに含まれるタスクを

RailsのGrapeとJbuilderでAPI開発

RailsでAPIを作るならGrapeを使うってのが定番っぽいので使ってみました。 参考にしたのはこのへん intridea/grape Ruby - RailsとGrapeで行う最高のWeb API開発 - Qiita Grapeの導入〜Hello World インス