[Rails] redirect_to でリダイレクトできない原因はURLに半角スペースが入っていたせい

 

Railsのメソッド redirect_to で、Facebook認証後のリダイレクト処理をさせていたのですが、ちゃんと動かなくて困っていました。
 

リダイレクトできなかった原因はなんと、URLに半角スペースが入っていたせいでした…
 

1
2
redirect_to @facebook_cookies.url_for_oauth_code(:permissions => "publish_stream, read_stream")
#redirect_to 'https://graph.facebook.com/oauth/authorize?client_id=125635350871368&redirect_uri=http://localhost:3000/&scope=publish_stream, read_stream'

 

“publish_stream, read_stream” の部分の半角スペースが入っていたせいでリダイレクトできていなかったみたいです。
 

文字列で渡すところをうっかり配列で渡すような書き方にしてしまっていました…
 

正しくは以下のように、スペースを入れないで scope に渡すパーミッションを指定します。
 

1
2
redirect_to @facebook_cookies.url_for_oauth_code(:permissions => "publish_stream,read_stream")
#redirect_to 'https://graph.facebook.com/oauth/authorize?client_id=125635350871368&redirect_uri=http://localhost:3000/&scope=publish_stream,read_stream'

 

ちなみに、Facebook API を使うためのライブラリは koalaを使っています。
 

arsduo/koala – GitHub はてなブックマーク - arsduo/koala - GitHub
 

以上です。
 

[MacOS] Homebrew で PostgreSQL をインストールする手順

Mac に Homebrew で postgresql をインストールしたので手順をご紹介します。

PostgreSQL

続きを読む

Rails 3 で root(ルート)を route.rb から変更する方法

 

Rails 3 にて、root(ルート)を route.rb から変更する方法を調べたのでメモ。
 
 

■ root
 

Webアプリのroot「/」に対するrouteは、Rails 3ではrootというディレクティブを使うそうです。
 

例えば、homeControllerのshowアクションをrootにする場合は config/routes.rb に以下のように書くそうです。
 

1
root :to => 'home#show'

 

これだけではまだ、デフォルトページが表示されてしまうので public/index.html をリネーム or 削除すれば、root で任意のページを表示できます。
 

1
$ rm public/index.html

 

ちなみに、Rails3のroutesについては以下の記事に詳しくまとめられています。
 

Rails 3のroutesまとめ はてなブックマーク - Rails 3のroutesまとめ
 

以上です。
 

【参考】

rails2.0でデフォルトのrouteを変更する方法 – Cafe L@ Bebop はてなブックマーク - rails2.0でデフォルトのrouteを変更する方法 - Cafe L@ Bebop
 

[Rails] rake db:migrate コマンドで rake aborted! no such file to load — pg のエラー問題を解決

Railsにて、rake db:migrate コマンドがエラーで実行できない問題を解決したのでメモ。

$ rake db:migrate
rake aborted!
no such file to load -- pg
 
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

アプリケーションルート直下の Gemfile ファイルにて、SQLite3 を使う記述が初期設定のままだったので、これをpostgresqlを使うように書き換えればOKです。

$ vim Gemfile

■ Gemfileから一部抜粋

#Comment out the sqlite3 requirement
#gem 'sqlite3-ruby', :require => 'sqlite3'
#Add a pg requirement
gem 'pg', :require => 'pg'

以上です。

【参考】

Ruby/Rails 3 and PostgreSQL | Peter Mac And Associates はてなブックマーク - Ruby/Rails 3 and PostgreSQL | Peter Mac And Associates

RailsからPostgreSQLに繋がらない~ – Stellaqua – TOMの技術日記 はてなブックマーク - RailsからPostgreSQLに繋がらない~ - Stellaqua - TOMの技術日記
 

gem install でバージョン指定してインストールするには –version= オプションを付ける

 

gem install でバージョン指定してインストールするには –version= オプションを付ければOKです。
 

普通に gem install すると、最新版がインストールされます。
 

1
$ gem install rails

 

(2011年9月17日 時点では、Rails-3.1.0 が最新版です)
 

例えば、Rails-3.0.10 をインストールしたい場合は以下のようにします。
 

1
$ gem install rails --version=3.0.10

 

以上です。
 

【参考】

第1回: インストール – Ruby on Rails 3.0 日記 – Ruby on Rails with OIAX はてなブックマーク - 第1回: インストール - Ruby on Rails 3.0 日記 - Ruby on Rails with OIAX
 

[Facebook] 言語コード・国コード(locale)一覧表

 

Facebookの 言語コード・国コード(locale)の一覧表を見つけたのでメモ。
 

Locale Value
Afrikaans af_ZA
Albanian sq_AL
Arabic ar_AR
Armenian hy_AM
Aymara ay_BO
Azeri az_AZ
Basque eu_ES
Belarusian be_BY
Bengali bn_IN
Bosnian bs_BA
Bulgarian bg_BG
Catalan ca_ES
Cherokee ck_US
Croatian hr_HR
Czech cs_CZ
Danish da_DK
Dutch nl_NL
Dutch (Belgi?) nl_BE
English (Pirate) en_PI
English (UK) en_GB
English (Upside Down) en_UD
English (US) en_US
Esperanto eo_EO
Estonian et_EE
Faroese fo_FO
Filipino tl_PH
Finnish fi_FI
Finnish (test) fb_FI
French (Canada) fr_CA
French (France) fr_FR
Galician gl_ES
Georgian ka_GE
German de_DE
Greek el_GR
Guaran? gn_PY
Gujarati gu_IN
Hebrew he_IL
Hindi hi_IN
Hungarian hu_HU
Icelandic is_IS
Indonesian id_ID
Irish ga_IE
Italian it_IT
Japanese ja_JP
Javanese jv_ID
Kannada kn_IN
Kazakh kk_KZ
Khmer km_KH
Klingon tl_ST
Korean ko_KR
Kurdish ku_TR
Latin la_VA
Latvian lv_LV
Leet Speak fb_LT
Limburgish li_NL
Lithuanian lt_LT
Macedonian mk_MK
Malagasy mg_MG
Malay ms_MY
Malayalam ml_IN
Maltese mt_MT
Marathi mr_IN
Mongolian mn_MN
Nepali ne_NP
Northern S?mi se_NO
Norwegian (bokmal) nb_NO
Norwegian (nynorsk) nn_NO
Pashto ps_AF
Persian fa_IR
Polish pl_PL
Portuguese (Brazil) pt_BR
Portuguese (Portugal) pt_PT
Punjabi pa_IN
Quechua qu_PE
Romanian ro_RO
Romansh rm_CH
Russian ru_RU
Sanskrit sa_IN
Serbian sr_RS
Simplified Chinese (China) zh_CN
Slovak sk_SK
Slovenian sl_SI
Somali so_SO
Spanish es_LA
Spanish (Chile) es_CL
Spanish (Colombia) es_CO
Spanish (Mexico) es_MX
Spanish (Spain) es_ES
Spanish (Venezuela) es_VE
Swahili sw_KE
Swedish sv_SE
Syriac sy_SY
Tajik tg_TJ
Tamil ta_IN
Tatar tt_RU
Telugu te_IN
Thai th_TH
Traditional Chinese (Hong Kong) zh_HK
Traditional Chinese (Taiwan) zh_TW
Turkish tr_TR
Ukrainian uk_UA
Urdu ur_PK
Uzbek uz_UZ
Vietnamese vi_VN
Welsh cy_GB
Xhosa xh_ZA
Yiddish yi_DE
Zulu zu_ZA

 

・参考:Wing’s FAQ on Facebook Development – Where can I get the List of Locale that I can use for those locale parameters in Facebook API? はてなブックマーク - Wing's FAQ on Facebook Development - Where can I get the List of Locale that I can use for those locale parameters in Facebook API?
 

[Facebook] 新バグツール「Bugzilla」を公開

 

Facebookが開発者向けに、新バグツール「Bugzilla」を公開したようです。
 

Bugzilla Main Page はてなブックマーク - Bugzilla Main Page
 

・参考:A New Way to Report Bugs – Facebook開発者 はてなブックマーク - A New Way to Report Bugs - Facebook開発者
 

現在は、Bugレポートを読めるだけで、投稿することはできないみたいですが、すぐに実装されるとのことです。
 

[Mac] RVM で Ruby と Rails をインストール

Macに、RVM で Ruby の開発環境を整えたのでメモ。(最終更新日:2013/07/09)

RVM: Ruby Version Manager – RVM Ruby Version Manager – Documentation

github : wayneeseguin/rvm


RVM、Ruby、Rails をインストール

下記のコマンドで、RVM、Ruby、Railsを一括インストールしてくれます。

curl -L get.rvm.io | bash -s stable --autolibs=homebrew --rails --trace

また、–autolibs=homebrew を指定しているので、依存関係のあるライブラリを Homebrew でパッケージインストールしてくれます。

RVM: Ruby Version Manager – autolibs option


RVM の初期設定

rvm インストール後、コンソールを再起動するか、下記のコマンドで rvm を起動します。

source ~/.rvm/scripts/rvm

以上です。

[MySQL] クエリのログファイルが指定できないエラー/[ERROR] Could not use /var/log/myquery.log for logging (error 13)

MySQLの設定ファイル my.cnf にクエリのログファイルを出力する設定をしたら、エラーが発生して、MySQLの再起動に失敗しました。

MySQL

続きを読む

[MySQL] default-character-set で起動が失敗する

MySQL 5.5.13 にて default-character-set=utf8 を書いた後、起動できなくなりました。

MySQL

続きを読む