ルーティング 複数ページにUpdateフォームがあって別のページに飛ばしたい時。
2時間半かかった。
こういうことだった。
① コントローラにUpdateアクション追加(ex:hoge_update)
② 追加したアクションをルーティングに追加(ex:PUT:hoge_update)
③ フォームは以下の様に
form_for @user,:url => url_for(:controller =>'mycontroller',:action =>'myaction')
参考:http://stackoverflow.com/questions/5320414/form-for-but-to-post-to-a-different-action
Rails でIp制限をかける
法人向けだとなおさら必要になる。SSLと併せたらなお。
ミドルウェアを使う方法が正攻法みたい。
【参考】
http://tnakamura.hatenablog.com/entry/2013/04/13/092642
http://d.hatena.ne.jp/holysugar/20111115/p1
どちらも方法は同じである。
OmniAuth でFaceBook/Twitter認証
ソーシャルメディアでログインする必要がある時使います。
【参考】
http://tnakamura.hatenablog.com/entry/2013/01/13/204311
=>FacebookでログインDeviseと連携。
コンシュマー向けサービスを開発する時には必要か。でも今は法人向けばっかりだしな。
ちなみにTwitterでもログインできる。併用して一度バグったが何が原因だったんだろう。
http://easyramble.com/implement-devise-and-ominiauth-on-rails.html
Heroku へデプロイ
今となっては、もはや何の問題もないがメモ。
【参考】
http://studio335.air-nifty.com/blog/2010/07/macheroku-7d58.html(デプロイまで)
また、このままやるとデプロイでエラーになる。これはAsset_Precompileが影響している。以下の2通りでエラーを回避する。
① Asset_Precompileをやめる。
https://devcenter.heroku.com/articles/rails-asset-pipeline(Heroku)
http://stackoverflow.com/questions/19650621/heroku-upload-precompiling-assets-failed
要はこう↓
# config/application.rb
config.assets.initialize_on_precompile =false
② Asset_Precompile する。
事前にローカルで行う。きっともっといい方法があるはず。自分が知らないだけ。
デプロイ時にやってくれるGemがあったと思うけど忘れた。と思ったら以下に書いてあった。Capistranoを使う。
http://d.hatena.ne.jp/tetsuyai/20110920/1316504421
デプロイはめちゃ早くなる。
bundle exec rake assets:precompile RAILS_ENV=production
Twitter BootStrap with Rails
画面のレイアウトを非常に便利に作成してくれるので、頼りっきり。
現時点でver3.xが出てるけど、自分はまだV2を使っている。そろそろ変えた方がいいんじゃないか。
自分はGemで入れてる。
【参考】
・http://ppworks.hatenablog.jp/entry/2012/02/19/033644
・http://php-fan.org/sample_code_demo/bootstrap-js.html
またiPadで表示するとなんか微妙に画面がダサい。従ってこの際PC版と同じ表示にしたほうが、まだマシなのでこうした。
管理画面を作成するGem Typus
管理画面をさっさと実装したい時に利用するGem。
バージョンによってはエラーが出るので公式を確認した上で、最新版を入れるのが
良い。よくあるのは、Showが見れないとか、Editできないとかがあった。
なお、Will_pagenateに依存しているので忘れずに入れる事。
【参考】
https://github.com/typus/typus(公式)
http://yorunocafe.blogspot.jp/2011/08/rails-typus.html(使い方説明)
http://www.majin.jp/archives/146
使い方自体は極めて簡単。
Migration に非常に弱いので、自分で追加する必要があるが、逆にその方が良いと自分は思う。