在我看来无法调用我的关联表。已经尝试过这个。它是一个只会增加玩家的应用程序。按“开始游戏”后,他应该来到结果视图,其中所有玩家的结果。那么我当然会有“玩家”表的名称,然后是“结果”表的绑定结果。现在在询问中,我在后台输入 bidningen 只要
view:
<% @playersname.each do |p|%>
<ul>
<li><%= p.name %></li>
<li><%= p.results.try(:result) %></li>
</ul>
<%end%>
控制器:
class ResultsController < ApplicationController
def index
@playersname = Player.all
end
end
Model:
class Result < ActiveRecord::Base
# attr_accessible :title, :body
has_many :players
end
移民:
class CreateResults < ActiveRecord::Migration
def change
create_table :results do |t|
t.string "result", :limit => 40
t.string "cal", :limit => 40
t.string "sum",:limit => 300
t.timestamps
end
end
end
CreateResults 迁移缺少player_id 列。
Do belongs_to :player
在您的 Result 类中并更正迁移(或执行另一迁移)。
[编辑]我还不够清楚:我认为你颠倒了关系逻辑。
你实际上做到了“一个结果有多个玩家”。
我想您希望一个玩家有多个结果?
class Player
has_many :results
end
class Result
belongs_to :player
end
所以你可以这样做:
@myplayer = Player.all.first
@myplayer.results #it is an array of player's results
@myplayerresult = @myplayer.results.first
puts @myplayerresult.result
如果您想要一对一的关系,请考虑替换has_many :results
by has_one :result
所以你可以做@myplayer.result
得到你的结果。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)