まかろんばざーる

スクラップ帳

Rails4のroutes.rbではmatch→get?

Twiwt:Blog / jugyo : OmniAuth で簡単 Twitter 認証!

こちらを参考にしていろいろ弄ってるのですが、こちらはRails4の環境。

.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/routing/mapper.rb:191:in `normalize_conditions!': You should not use the `match` method in your router without specifying an HTTP method. (RuntimeError) 

なんかエラーでたよママン。
エラーでググるとstackoverflowが出てきてroutes.rbがおかしいんじゃね?っていう記述が。
さらにぐぐってみると

rails4ではmatch→get?? | ねこまったりら

ということでmatchからgetに書き換えたらとりあえずエラーは出なくなった。


いろいろ弄って「rails s」してみてauth/twitterにリンクを飛ばした。 認証ページが表示されてcallbackされた時にエラーが表示された。

NoMethodError in SessionsController#callback

undefined method `[]' for nil:NilClass

いろいろ調べたけど今はuser_infoじゃなくてinfo使えってことらしいね。

#241 Simple OmniAuth - RailsCasts

"user_info" hash is now simply "info".

ってことでuser.rbのuser_info書き換えたらちゃんと戻れた良かった。