もふもふ技術部

IT技術系mofmofメディア

Rails

メールアドレス以外でサインインできるようにする[devise]

deviseのHow To: Allow users to sign in with something other than their email address, emailアドレス以外でサインインを行う方法について翻訳しつつ実践していきます。 wiki 今回は公式wikiにあるように、usernameというfieldでサインインできるように…

devise sign_in/sign_outのデフォルトルーティングをカスタマイズしてlogin/logoutにする

deviseのwikiにあるHow To: Change the default sign_in and sign_out routes を翻訳、実際に動かしてみる。 通常、deviseを実装した段階では、生成されるルーティングはdeviseがデフォルトで提供してくれるものになります。例えばuserモデルのログインなど…

devise ユーザーのパスワードを自動生成してメールアドレスだけで会員登録できるようにする

deviseのwikiにあるHow To: Automatically generate password for users (simpler registration)をやってみる。 通常、deviseを使った会員登録ではemailとpasswordの入力が必須になりますが、「会員登録時にパスワードを設定しなくてはならない」という仕様…

devise の使い方(Validatable Recoverable Rememberable)

Deviseの使い方(各種オプション編2) devise gemはモジュールの概念に基づいて作成されています。 devise この性質のおかげで開発者は自分のアプリに本当に必要なものだけをピンポイントに導入することが可能です。使用していないコードをアプリに組み込ま…

devise の使い方(helpers, Database Authenticatable, Registerable)

Deviseの使い方(各種オプション編1) devise gemはモジュールの概念に基づいて作成されています。 この性質のおかげで開発者は自分のアプリに本当に必要なものだけをピンポイントに導入することが可能です。使用していないコードをアプリに組み込まずに済む…

devise の使い方(導入からログアウトまで)

deviseは、Webアプリケーションを作成する際にほぼ必ずと言っていいほど必要になる認証系の機能を網羅的に用意してくれるgemです。アカウントの登録やログイン、パスワードの再設定機能、アカウントロック機能等、豊富な機能が利用できます。各機能はモジュ…

Action Mailbox

前回の Action text に続き、今回は Action Mailbox を使ってなにか試してみようと思います。 Action Mailbox も Action text 同様、 Basecamp から移植した機能のようです。 かなりざっくり内容をまとめると、Action mailer では手間がかかったメールの受信…

Rails 6 と Action text を使ってみる

Rails 6 は Beta版に続き、rc1 が リリースされました。Rails 6 では action mailbox, multiple databases, parallel testing... など様々な新機能が実装されていますが、今回は action text を触ってみようと思います。 Action text は、ざっくり説明すると…

RubyをJavaScriptにしてしまうOpalを触ってみる

公式 TL;DR Opal導入する TL;DR 全部Rubyでかけるのがうま味? Rubyに慣れ親しんだJS初心者は嬉しいかも? なOpal入門してみます。導入からアプリがちょっと動くところまで。 Opal導入する 適当なプロジェクトを作成して、準備します。 GemfileにOpalを追加 …

Apollo使ってGraphQLを自由自在に操(りたい)

前回は画面からqueryを投げてデータを取得するところまでやってみました。今回はもうちょっと実用的な形でTODOアプリを進化させようと思います。 前回Rails×GraphQLやる - もふもふ技術部 TL;DR 前回のやり直し 導入しないとどうなるか VueとApollo導入する …

Rails5 + Doorkeeper + DeviseでOAuthサーバーを実装する

最近ちょっとAmazon Echo Alexaのスキル開発にハマってまして、「【Amazon Echo入門#6】AlexaちゃんとTwitterアカウントを連携してみる」というエントリを書いたりしてます。 どうやらAlexaと既存のWEBサービスのユーザーアカウントを連携させるにはoauthの…

Rails + Vue.jsでチャットUIっぽい吹き出しをコンポーネントにする

前回は「Rails + Vue.js + Ajaxでチャット機能っぽいサンプルを実装する」というのをやってみましたが、これに加えて吹き出しのようなチャットUIを実装し、コンポーネント化してみます。 このあたりが使いこなせるようになると、いままでバラバラのファイル…

Rails + Vue.js + Ajaxでチャット機能っぽいサンプルを実装する

前回はRails + Vue.jsで動的に画面の値を取得するサンプルを組んだような覚えがあるので、今回はVue.jsを経由してデータを登録するサンプルを実装したい。 とりあえず普通にRails単体で動くサンプルを実装 普通にRailsでindexを表示する Vue.js経由でmessage…

Rails + Vue.js + Ajaxでボタンを押したらAPIにGETリクエストしてデータを画面に表示させる

前回はひとまずRails上でVue.jsを動かすところまでやったので、今回はRails作ったサーバサイドにAjaxでリクエストして、取得した値をViewに反映する、というような実践に寄せたサンプルをやってみる。 前回の記事 Rails5.1, Vue.jsで動かしてみる | もふも…

Rails5.1, Vue.jsで動かしてみる

前回、Vue.js単独でのチュートリアルを試したので、今度はRails上で動かしてみようと思います。 ReactよりイケてるらしいのでVue.jsに入門してみた | もふもふ技術部 こちらを参考にしました。 http://qiita.com/cohki0305/items/582c0f5ed0750e60c951 http…

【入門】Draperを使ってみる

Draperとは? draperをインストール 土台となるアプリケーションを作成 生成されたコードを確認 controllerにてdecoratorインスタンスを作成 ビューからdecoratorメソッドを利用する。 表示を確認する Draperとは? Draperとはデコレーター(ビューとモデルの…

Rails5.1.0で--webpack=reactを試してみた

mofmofでRailsエンジニアをしている山形です。 好きな領域はフロントエンドで、もともとWebデザインをやっていたバックグラウンドを活かしてUIデザインを含めた開発をやっていたりします。 さて本日(US時間2017.4.27)Railsの新しいバージョン5.1.0がリリー…

【Try Gem】rails-erdを使ってER図を出力してみる。

アプリの内部を理解しようとする時ってどうやってますか? 私の場合はDBの構成を調べてそれを手がかりにコードを追っていくのですが、案件参加の当初はschema.rbから紙とペンで構成図を書いてました。 前職ではDB構成表みたいな大量のドキュメントが管理され…

【Try Gem】Deviseをインストールしてみる。

はじめまして、rails初級者のサクマです。現在はアシスタントとして案件に携わりながら、rails経験値を上げております。 開発中のアプリではたくさんの便利なgemが使われているので、使い方を調べながらプログラミングしてるのですが、そのgemが今ひとつ頭に…

Rails標準のGeneratorを拡張して自作Generatorを作る

scaffoldで生成されるものをちょっとカスタマイズしたいなーってときあるじゃないですか。 出力内容をカスタマイズするならlib/templatesにファイルを置くだけでいけるのですが、出力処理そのものをカスタマイズするのはどうやるんだろうと思い調べてみた。 …

RSpecのカバレッジ率を計測して、CIでエラーにする

SimpleCovでカバレッジを計測する werckerで動かして一定カバレッジ率以下でfailedにする まとめ SimpleCovでカバレッジを計測する 既にRailsプロジェクトがあって、rspecが実行出来る状態を前提とします。 簡単にカバレッジの計測が出来るSimpleCovというge…