我有两个班级
class Movie < ActiveRecord::Base
has_one :rating
end
class Rating < ActiveRecord::Base
end
我已经在评级表中填充了数据。
在创建电影时,如何将评级表中的数据填充为选择字段?并且在保存电影后创建关联?
这是可能的吗?
非常感谢任何帮助
答案 0 :(得分:0)
您可以像以下一样使用它:
<%= f.select(:rating, Rating.all.collect {|u| [u.name]}, :prompt => 'Select') %>
答案 1 :(得分:0)
您应该在评分中添加belongs_to
关联。
然后以你的形式:
<%=
f.select(:rating_id, Rating.all.map {|u| [u.name, u.id]}, :prompt => 'Select') %>
更新:
belongs_to
是指定外键的关联方。因此,从您的示例中我发现Movie
可以被评为 0 或更多次。 Rating
始终为一个Movie
。
所以你的模型应该是:
class Movie < ActiveRecord::Base
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :movie
end
答案 2 :(得分:0)
在您的评分模型中,取一个常数,如果您有has_many
,则您的评分为belongs_to
。
class Rating < ActiveRecord::Base
Ratings = Rating.all.pluck(:id,:name)
end
在您的电影表格中,
<%= f.select :rating, Rating::Ratings.map{|rating| [ rating[1], rating[0] ]} %>
获取要为其保存电影评级的字段名称(如果未评级
)