これは私の初めてのシングルテーブル継承を扱ったもので、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ファイルに入れることを決めましたが、それを動作させる方法がわかりません。ヘロクから走って、何もない場合は<%以内に含まれていますか? %>が表示されます。ちょうど空白。
解決策を回答として投稿し、受け入れてください。 – meagar