Kaorina’s diary

Ruby on Railsとかとか

Ruby on Rails

Rails4でRiot.js(3.3)が動く環境を構築する

実行環境 Ruby on Rails 4.2.0 Riot.js 3.3.2 前提 あらかじめNode.jsがローカルにインストールされていること。 $ node -v を実行してバージョンが表示されればOK。 1. npmを使ってriotをインストールする $ cd (Railsプロジェクト直下のディレクトリ) プロ…

Rails4以降でJSONデータを作る時にはjbuilderがお便利

jbuilderというjsonのテンプレートエンジンを使うと、viewディレクトリ以下にxxx.json.jbuilderファイルを作成し、localhost:3000/xxx.jsonとアクセスするだけでJSON形式のレスポンスを受け取ることができる。 app/views/api/index.json.jbuilder(今回はapi…

子テーブルのレコード件数を取る際に使える!counter_culture

投稿に対するコメント数などを取る際に、複雑なSQLを書こうとしていたのですが、 counter cache(カウンターキャッシュ)というものを使えばとてもスマートに各投稿へのコメント数が取得できました。 さすがRails、痒いところに手が届きます! 投稿数が多く…

Rails5 マイグレーションファイルでのindexの書き方が変わった

add_indexで書いていた箇所がカラム追加と同じメソッド内にt.indexという形で書けるようになったみたいです。 Class CreateQuestions < ActiveRecord::Migration[5.0] def change create_table :questions do |t| t.string :title t.text :content t.index :…

Rails 5でアプリ作成してみた

installする際に少しハマりましたが、基本はRails4系と変わらなかったのです。 1. Rubyのバージョンを最新にする Rails5ではRuby 2.2.2 以降が必須らしい。 ローカルのworkingディレクトリに移動し、Rubyのバージョンを確認 $ ruby -v 2.3.0だったので、アッ…

qiitamarkdownのプレビュー画面をboorstrapのモーダルウィンドウで表示する

Q&Aサイト等で投稿内容をMarkdown形式で書いて、投稿前に確認出来るプレビューWindowを作りました。 Bootstrap3でモーダルウィンドウというものがあるので簡単にいい感じのWindowが使えました。 Markdown形式をHTML形式に変換してくれるライブラリqiitamarkd…

railsの変数をjavascript内で使えるgonが便利だよ

asset配下のjavascript内でrailsの変数を使いたい場合、 gonというGemを使えばすぐに呼び出せます。 Gemをインストール Gemfile に下記を追記後、bundle installを実行 gem 'gon' application.html.erbへ設定を追記 app/views/layouts/admin/application.htm…

deviseの招待機能を使って、登録時に氏名も登録できるようにする

deviseを使って招待機能(Invitable)を使う際、招待メールの内のリンク先でデフォルトはPasswordのみを登録するのですが、氏名も一緒に登録させたいというお題が出たのでやってみた。 任意の項目を追加する場合は使える場合のお話です。 イメージ 1. rails …