Ruby: 我怎样才能制作一个显示的组合框
Ruby: How can i make a combobox that shows
我想知道如何制作一个显示我数据库中所有用户列表的组合框,让我自己解释一下:
我有两个班级:
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
我有一个用于验证的显示创建视图 class:
<%= 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 %>
所以最后我有一个包含所有用户的组合框,我是一个菜鸟 rails 真的知道怎么做所以欢迎任何帮助
您可以执行以下操作来实现您想要的。
<%= f.select :user_id, User.all.collect { |u| [ u.name, u.id ] } %>
更多信息可以参考这个link
我想知道如何制作一个显示我数据库中所有用户列表的组合框,让我自己解释一下:
我有两个班级:
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
我有一个用于验证的显示创建视图 class:
<%= 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 %>
所以最后我有一个包含所有用户的组合框,我是一个菜鸟 rails 真的知道怎么做所以欢迎任何帮助
您可以执行以下操作来实现您想要的。
<%= f.select :user_id, User.all.collect { |u| [ u.name, u.id ] } %>
更多信息可以参考这个link