Ruby on Rails
実行環境 Ruby on Rails 4.2.0 Riot.js 3.3.2 前提 あらかじめNode.jsがローカルにインストールされていること。 $ node -v を実行してバージョンが表示されればOK。 1. npmを使ってriotをインストールする $ cd (Railsプロジェクト直下のディレクトリ) プロ…
jbuilderというjsonのテンプレートエンジンを使うと、viewディレクトリ以下にxxx.json.jbuilderファイルを作成し、localhost:3000/xxx.jsonとアクセスするだけでJSON形式のレスポンスを受け取ることができる。 app/views/api/index.json.jbuilder(今回はapi…
投稿に対するコメント数などを取る際に、複雑なSQLを書こうとしていたのですが、 counter cache(カウンターキャッシュ)というものを使えばとてもスマートに各投稿へのコメント数が取得できました。 さすがRails、痒いところに手が届きます! 投稿数が多く…
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 :…
installする際に少しハマりましたが、基本はRails4系と変わらなかったのです。 1. Rubyのバージョンを最新にする Rails5ではRuby 2.2.2 以降が必須らしい。 ローカルのworkingディレクトリに移動し、Rubyのバージョンを確認 $ ruby -v 2.3.0だったので、アッ…
Q&Aサイト等で投稿内容をMarkdown形式で書いて、投稿前に確認出来るプレビューWindowを作りました。 Bootstrap3でモーダルウィンドウというものがあるので簡単にいい感じのWindowが使えました。 Markdown形式をHTML形式に変換してくれるライブラリqiitamarkd…
asset配下のjavascript内でrailsの変数を使いたい場合、 gonというGemを使えばすぐに呼び出せます。 Gemをインストール Gemfile に下記を追記後、bundle installを実行 gem 'gon' application.html.erbへ設定を追記 app/views/layouts/admin/application.htm…
deviseを使って招待機能(Invitable)を使う際、招待メールの内のリンク先でデフォルトはPasswordのみを登録するのですが、氏名も一緒に登録させたいというお題が出たのでやってみた。 任意の項目を追加する場合は使える場合のお話です。 イメージ 1. rails …