Rails

【Rails4】json_spec で JSONのテスト 及び MultiJson::ParseError対応

json_spec導入Gemfile gem 'json_spec' spec/spec_helper.rb RSpec.configure do |config| #JSON検査 config.include JsonSpec::Helpers : : 検証 以下のJSONを検証する(kaminari APIより抜粋) "meta":{"current-page":1,"next-page":2,"prev-page":null,"to…

【Rails4】kaminariをAPIで利用する

ページネーション用Gemで有名なkaminari。 ただ、使い方を調べてもAPIでの利用方法が見つからなかったので記載。前提 サンプルとしてTodoをJSONで渡すAPIを実装下記Gem導入済み ・kaminari ・active_model_serializersmodelの出力フォーマットをactive_model…

【Rails4】before_actionに引数を渡す

以下の様にbefore_actionに引数を渡した状態で定義してもエラーとなる。 before_action :test('hogehoge') これは以下の様に修正することで解決できる。 before_action -> { test('hogehoge') } フィルターを設定したい場合は以下の様に追記。 before_action…

【Rails4】rails_adminで楽に管理画面を作ってみた

rails_adminを追加。 gem 'rails_admin'インストール後、設定ファイル生成。 $ bundle install $ rails g rails_admin:install設定ファイルの ==Device==の項目のコメントを外す。 config/initializers/rails_admin.rb RailsAdmin.config do |config| ### Po…

【Rails4】Deviseでユーザーを楽に管理する

Gemfileに追記 gem 'devise' ジェネレータでdeviseをインストール $ bundle install $ bundle exec rails g devise:installユーザテーブルを作成 $ bundle exec rails generate devise Userこれだけだと独自に設定したいフィールドを追加できないためmigrati…

ControllerでModel.findを利用するときの注意点

テストしていて躓いたので記事にしておきます。よくある実装 ※色々省略してます。users_controller.rb def show getUser end private def getUser @user = User.find(params[:id]) end 実際はbeforeで一括しておくのが普通だとは思うんですが今回はこんな感…

Rspecでpry-byebugを使う

Rspecに慣れていないのでRspecのデバッグがしたかった。 なのでちょっと調べてみると普通に使えたので紹介。 require 'rails_helper' require 'pry-rails' #これを追記 RSpec.describe UsersController do↲ 考えてみれば当たり前だった....。 これでデバッグ…

Gemについて調べてみた

最近、Gemについて質問される機会があり何も答えられなかった。 『何も理解せずに便利だから使ってる』ってことを実感したので 今まで使っていたGemについて調べてみた。 ちなみに rails, jquery, Sqlite, Sass, cofee, rspec については流石に省略する ugli…

HerokuにデプロイしたRailsアプリでPumaを使う

Herokuに初めてRailsアプリをデプロイしてみたけど異常に重い...。 調べてみると どうやらデフォルトのサーバーは推奨されていないらしい。 そこで今回はHerokuで推奨されているPumaを導入してみる。GenfileにPumaを追加 gem 'puma'続いてconfig直下にpuma.r…

RailsからJavascriptにJSONデータを渡す

RailsからJavascriptにJSONを送ってみた。Gemfile gem 'gon' 追記後にbundle install。 後はheader部でインクルードしておく。 ※一応自分はassetをパーシャル化しているので自身の環境に合わせて下さい。app/views/layouts/_asset.html.erb <%= include_gon …

Modelを削除する(テーブル含め)

RailsでModelとテーブルを削除する方法。まずはModelを削除。 rails d model xxxこれだけだと作成されたテーブルは残るので直接DBを消しにかかる。 rails dbconsole /* テーブルを確認 */ .table /* テーブル削除 */ drop table xxx; /* dbconsoleを終了 */ …

BootstrapとFont Awesomeを導入

いきなりだけど、自分にはデザインセンスというものが欠落している。 冗談抜きで欠片も存在しない。 なのでアプリケーションを作成すると冗談抜きで酷いものが出来上がる。こういう場合、デザインに強く更に協力的な友人か知人がいれば助かるわけだが、 そん…

uninitialized constant Capybara (NameError)

RailsTutorialで少し詰まったのでメモ bundle exec rspec spec/requests/static_pages_spec.rbで以下の様なエラーが発生 /Users/ohs30359/Desktop/Ruby/rails/sampleWork/spec/spec_helper.rb:26:in `block in <top (required)>': uninitialized constant Capybara (NameErro</top>…

Rails開発環境構築

事前準備 Ruby RubyGem がインストール済み ちなみに この時のRubyのバージョンは2.2。 Railsをインストールさくっと一発 gem install rails --version 4.0.5RailsDocumentが結構重いので割りと時間が...インストールに成功していれば以下で確認できる。 rai…