任何善良的人都可以看看这个,看看代码有什么问题。我真的不能在关联表中撤销我的字段!我的问题是什么?
观点:
<% @playersname.each do |p|%>
<ul>
<li><%= p.name %></li>
<li><%= p.result.inspect %></li>
</ul>
控制器:
class ResultsController < ApplicationController
def index
@playersname = Player.all
end
end
模型:
class Player < ActiveRecord::Base
attr_accessible :name
belongs_to :result
end
class Result < ActiveRecord::Base
# attr_accessible :title, :body
has_many :player
end
迁移:
class CreatePlayers < ActiveRecord::Migration
def change
create_table :players do |t|
t.string "name"
t.references :results
t.timestamps
end
end
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
答案 0 :(得分:0)
您需要在代码中复制播放器:
has_many :player
应该是
has_many :players
另外,在您看来,您应该更改:
<li><%= p.result.inspect %></li>
到别的地方。它不起作用,因为a)p
没有“结果”方法,只有results
方法。当你在results
上打电话给.inspect时,你会得到一些你可能不想发送给浏览器的东西。
一旦你弄清楚了这个协会,你可能想要在你的视图中看到以下内容:
<h1>Results</h1>
<%= render :partial => "result", :collection => @results %>
然后您将在名为_result.rb
的视图文件夹中创建一个部分,并包含此类代码
<h3>Result: <%= result.title %></h3>
<p><%= result.body %></p>