Heroku Account Creation Next, create a Heroku account so you can deploy Rails. If you have an existing Heroku account and have already installed the Heroku Toolbelt for Mac then you can skip directly to the next section. Go to heroku.com and click Sign up for free Enter your email address and click Sign Up Check your inbox for an email from Heroku and click on the verification link in-order to ver
スマホアプリから会員の新規登録、ログインが両方できるようにAPIを作成中。ようやく自前でアクセストークンを作ってOAuth認証が出来たのでまとめておく。 まず何がしたいか? スマホアプリでAPI認証ができるように、OAuthを自前で作成したい。 -> スマホアプリ側ではユーザ名とパスワードを入力すればトークンが取って来れて、そのトークンで各APIにアクセスすればユーザ固有の情報が取って来れるようになる仕組みを作る。 スマホアプリ側でユーザ作成も出来るようにしたい。 -> APIでユーザが作れるようにする。もちろんhttps前提。 環境 gemfile ruby '2.0.0' gem 'rails', '4.0.0' gem 'rails-api' gem 'active_model_serializers' gem 'mongoid', '4.0.0.alpha1' gem "moped
はじめに Ruby on Rails(以下Rails)でMongoDBを使う際のORマッパーとして現在はMongoidが標準的に使用されるようになりました。MongoidはActive Recordに似たAPIを備え、かつMongoDBのスキーマレス、ドキュメント指向、ダイナミッククエリ、アトミック操作といった特徴をRubyから容易に扱えるように設計されています。 本記事ではMongoid 4.0.0、Rails 4.1.8をベースに、RailsでMongoidを使う利点を述べ、実際にサンプルアプリケーションを動かして紹介したいと思います。 Mongoidを使う利点 これまでのプロジェクトではActive Recordを介して主にMySQLを使用していましたが、Mongoidを使用するようになって、以下の利点を実感しています。 Active Recordと共通もしくは拡張したクエリと永続化
has_many,throughとかでモデルやテーブルの構成を考えるとき,どうしてもカラム名と関連づけるテーブルの名前が一致しなかったり,望み通りの命名で行けない場合がある. もちろん,一つのテーブルが,他のテーブルのレコードを複数持つだけなら,命名はスマートに決められるのだけれど. 今回の例題は,Userモデルに対するフォロー・フォロワーを実現すること. Userは一つのテーブルでなければならないことはわかりますよね. ということは,UserテーブルがUserFollowという中間テーブルを介して,Userテーブルのレコードをhas_manyするという形をとる. もうガリガリと書いていきます. まず,こういう,元から名前の統一が難しそうな場合はテーブルを先に作ってしまう. Userテーブル id name 1 poteto 2 hoge UserFollowテーブル id user_id
これまで、何度もRailsを勉強しようとして挫折してきた。 Rails で "とりあえず動くコード" を書けるようになった人が次に遭遇する問題とそれを解決してくれる本まとめ - 彼女からは、おいちゃんと呼ばれています を読んで勉強したくはなったのだけれど、そもそも僕はまだ “とりあえず動くコードが書けるようになった” 気がしていない。 これでも自分はプログラムは得意な方だと思っていた。大学は情報系だったし、同じ授業を受けた人たちの中では上手くプログラムできる方だったと思う。プログラムを書くこと自体は好きだし、CやJava、Lispやアセンブラまで主要な言語は大体把握しているつもりだ。 それでもRailsは難しい。 なぜ難しいのか? 列挙してみると とにかく知るべきことが多い しかも進歩が早く、せっかく憶えてもすぐに変化する 「これだけやれば大丈夫」という聖典が無い からだと思う。CやLis
Photo by Gonzalo Baeza | Flickr - Photo Sharing! RailsでJSONを返すAPIを作成し、また、APIのテスト方法も説明します。 JSONを返すAPIは、RailsのActiveSupportより拡張されたto_jsonメソッドとDMMが開発したjbuilderというGemを使います。 APIのテストにはおなじみのRSpec3を使います。 動作確認 Rails 4.1.7 jbuilder 2.2.6 rspec-rails 3.1.0 factory_girl 4.5.0 目次 1. 前提条件 2. APIの作成 2.1. 1つのコントローラーでHTMLやJSONを返すAPI 2.2. JSONのみを返すAPI 2.3. APIのバージョニング 3. APIのテスト 3.1. テストファイルの準備 3.2. 一覧(index)APIのテス
この記事で分かること twitter-bootstrap 3.0をRuby on Rails 4.0で動かす方法について 内容 bootstrap 3.0について twitter-bootstrap-railsについて bootstrap 3.0 on rails 4.0 1.bootstrap 3.0について bootstrapとは,わりと誰でも簡単に整ったレイアウトのホームページを作れるようにするための無償のツールです. 細かいことはおいておきいますが,bootstrap を使って構築されたサイトが乗っている bootstrap-expoを見ると 何となく凄さが分かるのではないかなーと思います. (とは言え、自分レベルではbootstrapをどうカスタマイズしたらあのようなレベルになるのかさっぱりですが笑) 使い方は簡単で,bootstrapの公式サイトのGetting Started
Rails初心者がRailsの一通りの仕組みを理解できることをために、Railsの仕組みを一つ一つ理解しながらブログを作成していきます。 Railsでのルーティング、コントローラー、モデル、ビューの規約や使い方、ScssでのスタイリングやCoffeeScriptでのJavascriptの記述なども説明します。 Rails Guide - Getting Started with Railsをベースにしました。 まずは、完成させるブログアプリケーションの画面です。 動作確認 Ruby 2.0 Rails 4.1 Mac OS X 10.9 前提条件 Ruby がインストール済み Rails 4 がインストール済み SQLite3データベースがインストール済み ※もしインストールされていない場合は、「Rails4 インストール」などでGoogle検索してインストールしてください 目次 Rail
結論: Javascriptの乱用をやめるのが一番。 はじめに書いておきますがしょうもない話です。 結論、開発者としてはどのような方向性でやるべきか、を書いています。 JS多い時代でのフレームワークの根本的な問題云々のことは書いてません。 さて、現状、モバイルにおいて、Javascriptでまともに動くものを作ることは難しいです。 Twitterから引き抜いた超優秀なWebエンジニアを多数抱えるMediumですら、未だにモバイルで多数のバグを抱えています。 超優秀なエンジニアを世界一抱えているであろうGoogleのGmailですら、モバイル版のWebはすぐクラッシュします。また、自前スクロールに致命的なバグも抱えています。 正確には「UIが不審な挙動をする」ですが、エンドユーザにとっては同じことで、「バグ」です。 サーバサイドで起こるバグと同じ程度、いやそれ以上に、サービスに影響を与えます
追記 RailsでJS辛い問題に関しての結論:http://qiita.com/kaiinui@github/items/dad6180f1910c6a4bfd5 -- 近年、(1) Web/App両対応が増えてきたこと、(2) WebでもJSを多用するようになったこと、の二つがあり、以下の点でRailsが微妙になっている。 ViewのJavascriptがRailsから独立している API層のサポートが微妙 最初に書いておきますが、特に決定的な解決策もなく、辛いから今後解消されてほしいよね、な話です。 ViewのJavascriptがRailsから独立している Railsはとても堅牢。 モデル、コントローラ、ルーティングと、変にいじらない限りはほとんどテストが要らない。 必要なのは、モデルに新たにpublicメソッドを付けたときくらいだろう。 実際、バックエンドはそうそうバグが出ない。
CSS .field_with_errors { @extend .has-error; } 解説 Railsはエラーが出たフォームの欄に、自動でfield_with_errorsというクラスを付ける。 なので、field_with_errorsにcssを追加してやれば良い。 bootstrapのcssを適用するために、sassの@extendを使う。 @extendには、適用したいスタイルを持つbootstrapのクラスを指定する。ここでの場合、bootstrapの.has-errorを適用している。 これでエラー時のCSSにbootstrapのCSSを適用することができた。 HTML 比較 エラーなし <div class="form-group"> <label class="control-label" for="user_name">Name</label> <input cla
今回はRubyの代表的なテンプレートエンジン「haml」を使って、RailsのViewを書き換えてみます。また、Hamlをすでに使っている人向けにも適したTips的なチートシートを作りました! 🍄 RailsのViewとは?Railsでは次のようなMVC(Model, View, Controller)のしくみ使ってWebアプリケーションを作っていきます。 Model(モデル): 主にデータベース(MySQLやPostgreSQL)とのやりとりを担当 View(ビュー): 主にWebブラウザのhtmlの表示を担当 Controller(コントローラ): View(ビュー)とModel(モデル)との間の橋渡しを担当 今回はブラウザで簡単に確認できるViewの部分を変更してみます。 😎 Hamlとは?『Haml』とは簡単にいうとHTMLをより簡単に書くためのビューテンプレートエンジンです。
はじめに RSpecは難しい、よくわからない、といったコメントをときどき見かけます。 確かにちょっと独特な構文を持っていますし、機能も結構多いので「難しそう」と感じてしまう気持ちもわかります。 (構文については僕も最初見たときに「うげっ、なんか気持ちわるっ」と思った記憶がありますw) しかし、RSpecに限らずどんなフレームワークでも同じですが、慣れてしまえばスラスラ書けますし、実際僕自身は「RSpecって便利だな-」と思いながらテストコードを書いています。 そこでこの記事では、僕が考える「最低限ここだけを押さえていれば大丈夫!!」なRSpecの構文や、僕が普段よく使う便利な機能をまとめてみます。 具体的には以下のような構文や機能です。 describe / it / expect の役割 ネストした describe context の使い方 before の使い方 let / let!
はじめに みなさんこんにちは! この記事は「必要最小限の努力で最大限実戦で使える知識を提供するRSpec入門記事」、略して「使えるRSpec入門」の第4回です。 今回はCapybaraを使ったフィーチャスペックについて説明します。 ただし、今までの記事とは異なり、フィーチャスペックのイロハよりも「Capybaraの使い方」に重点を置きます。 なぜなら、僕個人の経験からいって、フィーチャスペックで困るのは「このブラウザの操作って、どうやってコードで表現するの??」というケースが大半だからです。 それ以外は第1回~第3回の内容をそのまま応用できるので、特に「フィーチャスペックだから困る」ということはないと思います。 今回は説明する主な項目は以下の通りです。 フィーチャスペックの基本 ページの移動や画面のクリック、フォームの操作など 画面やフォームの検証 画面の操作や検証の応用テクニック その他
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く