万年素人からHackerへの道

万年素人がHackerになれるまで殴り書きするぜ。

Herokuの環境変数とかを見る

heroku config

Rails3系のバグ?

iframeで出てくるページのみlayoutを特別なのにしようと、headやfoooterのないiframe用のlayoutを作った。

・app/views/layouts/iframe.html.erb の中身

 <%= yield %>

そして、コントローラへ以下のようにnewアクションの時だけにiframeレイアウトを使おうとしたが・・・すべてのアクションに対して有効になってしまい、:onlyが無視される!!

class HogesController < ApplicationController
#newにだけレイアウトを使う
  layout "iframe", :only => [:new]


しゃあないので
http://d.hatena.ne.jp/senggonghaza/20110409/1302350042
こちらを丸ごとパk・・参考にした。

class HogesController < ApplicationController
  layout :choose_layout
  def choose_layout
    (action_name == 'new') ? 'iframe' : 'application'
  end

※「'new'と'iframe'」は「:newと:iframe」ではだめ


ローカルでうまくいくのに、Herokuでうまくいかない理由

ローカルで動いてたのにHerokuにpushしたのは動かなかった。
・Herokuのログ確認

heroku logs

「 character varying = integer at character 」ってエラーが出てた。
恐らくローカルはsqliteで動いてたが、HerokuはデフォルトはPostgresQLらしい。
stringで作ったカラム(varcharになってる?)に対して数字(integer)と比較してたから。
sqliteはそこでエラーは出ない。


Herokuへデータベースの内容を反映

・まずはtapsが必要

 sudo gem install taps

・これでローカルのDBコンソールをHerokuに反映

heroku db:push

Heroku用DBコンソール

http://getsatisfaction.com/heroku/topics/is_there_a_database_sql_console_for_heroku

heroku plugins:install git://github.com/ddollar/heroku-sql-console.git
heroku sql