我想知道如何制作一个显示我数据库中所有用户列表的commbobox,让我自己解释一下:
我有两个分支:
class User < ActiveRecord::Base
validates :password, presence: true, confirmation: {strict: true}
validates :password_confirmation, presence: true
validates :telephone, uniqueness: true, presence: true, numericality: { only_integer: true }, presence: true, length: { minimum: 9, maximum: 9 }
validates :name, presence: true, length: { minimum: 4, maximum: 30 }, format: { with: /^[\w\s-]*/u, multiline: true,
message: 'only allows letters' }
has_many :valorations
end
class Valoration < ActiveRecord::Base
validates :points, presence:true, numericality: { only_integer: true, greater_than_or_equal_to: 0, less_than_or_equal_to: 100 }
belongs_to :user
belongs_to :hability
end
我有一个验证类的show create视图:
<%= form_for(@valoration) do |f| %>
...errors check...
<div class="field">
#combo box code to be added
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
我想做的是创建一个组合框,使用fselect执行类似下面的伪代码:
发明代码:
<%= f.select :user_id, options_for_select( for_each user do |u|
[[u.name,u.id]]
end %>
所以最后我有一个与所有用户组合的组合框,我是铁杆的菜鸟真的知道怎么做,所以欢迎任何帮助
答案 0 :(得分:1)
您可以执行以下操作来实现您的目标。
<%= f.select :user_id, User.all.collect { |u| [ u.name, u.id ] } %>
有关详细信息,请参阅此link