2011-01-01 19 views
0

これは私の初めてのシングルテーブル継承を扱ったもので、Herokuにアプリをプッシュするまで素晴らしい経験となっています。私はユーザーモデル(および型の列を持つテーブル)、ユーザークラスから継承するHaulerモデル、Haulerに属するGeneratorモデル(およびhauler_id列を持つテーブル)を持っています。ここに凝縮されたコードです:Heroku STI問題

#hauler.rb model 
class Hauler < User 
    has_many :generators 
end 

#generator.rb model 
class Generator < ActiveRecord::Base 
attr_accessible :name, :hauler_id 
belongs_to :hauler 
end 

#sessions_helper.rb 
... 
def hauler? 
current_user.type==Hauler 
if current_user.type==Hauler 
    @generator = current_user.generators 
end 
end 

#home.html.erb 
<% if hauler? %> 
<% unless @generator.nil? || @generator.emtpy? %> 
    <ul> 
    <% @generator.each do |g| %> 
    <li><%= g.name %></li> 
    <% end %> 
    </ul> 
<% end %> 
<% end %> 

タイプ=運送屋を持つユーザがログインしている場合、その発電機のリストは自分のホームページに表示されなければなりません。これは私のローカルマシンでは動作しますが、Herokuでは動作しません。私はコードを少し修正して、問題をsessions_helperファイルに入れることを決めましたが、それを動作させる方法がわかりません。ヘロクから走って、何もない場合は<%以内に含まれていますか? %>が表示されます。ちょうど空白。

+0

解決策を回答として投稿し、受け入れてください。 – meagar

答えて

0

もう1時間ほど手を加えて、自分の問題を解決しました。どうやらRailsはメソッドの型のカラムにアクセスするのに問題があります。代わりに、コードは次のようになります。

def hauler? 
current_user.class.name=="Hauler" 
end