选择标记动态

时间:2015-03-18 22:32:34

标签: ruby-on-rails

现在我已经对Tour表的tour_id进行了硬编码,我怎样才能让它变得动态?

(select_tag 'tournament_id',options_from_collection_for_select(Tournament.all.where(:tour_id => 1)

1 个答案:

答案 0 :(得分:1)

如果我理解你的问题是正确的。

模型

class Tour < ActiveRecord::Base
  has_many :tournaments
end

class Tournament < ActiveRecord::Base
  belongs_to :tour
end

控制器(类似这样)

...

@tour = Tour.includes(:tournaments).find(1)

在视图中

(select_tag 'tournament_id',options_from_collection_for_select(@tour.tournaments, ...)

无论如何,Tournament.all.where(:tour_id => 1)不是轨道方式。在不同的实践中使用rails关联(这里有更多信息rails associations

@tour = Tour.find(1)
@tour.tournaments # all tournaments where tour_id = 1 (tour has_many tournaments)