Ruby on rails rails对象需要获取字符串
我见过很多类似的问题,但都不适合我 我有一个团队模型:Ruby on rails rails对象需要获取字符串,ruby-on-rails,activerecord,ruby-on-rails-3.2,erb,Ruby On Rails,Activerecord,Ruby On Rails 3.2,Erb,我见过很多类似的问题,但都不适合我 我有一个团队模型: class Team < ActiveRecord::Base has_one :p1, :class_name => "Player", :foreign_key => 'player_id', :validate => true has_one :p2, :class_name => "Player", :foreign_key => 'player_id', :validate =>
class Team < ActiveRecord::Base
has_one :p1, :class_name => "Player", :foreign_key => 'player_id', :validate => true
has_one :p2, :class_name => "Player", :foreign_key => 'player_id', :validate => true
end
这是第行的代码
def create
@team = Team.new(params[:team])
.....
end
有什么想法吗?试试这个:
<%= f.collection_select :player_id, Player.all, :id, :name %>
我可能错了,但我猜是错的,而不是错的
<%= f.collection_select :p1, Player.all, :id, :name %>
你需要
<%= f.collection_select :p1, :team_id, Player.all, :id, :name %>
最后,这起作用了:
<%= f.collection_select :p1_id, Player.all, :id, :name %>
嗯,我看到以下错误:团队中的NoMethodError#新显示track/app/views/Teams/_form.html.erb,其中第14行出现:未定义的方法“合并”:名称:符号提取源(第14行周围):11:12:13:14:15:16:17:我看到错误:团队中的NoMethodError#new Showing track/app/views/Teams/_form.html.erb where line#14引发:未定义的方法`合并':名称:符号提取源(在第14行附近):11:12:13:14:15:16:17:对不起,我原来的答案是错误的。我更新了它。再试一次?嗯,回到原点。这是生成p1[团队id],我想要的是团队[p1]。。从本质上说,上述行为导致了错误的行为。我不得不切换到我原来的表单
,因为团队是自动从f来的。然而,这让我回到了我发布的原始问题:(感谢这一点-非常误导性的错误消息-应该告诉我们列名与任何列名都不匹配,并且应该是20秒的修复,而不是一个小时的修复。对此我深表感谢。这也适用于rails 5中的强参数。
<%= f.collection_select :p1, Player.all, :id, :name %>
<%= f.collection_select :p1, :team_id, Player.all, :id, :name %>
<%= f.collection_select :p1_id, Player.all, :id, :name %>
def create
@team = Team.new(params[:team])
.....
end