2015-07-09 2 views
2

я хочу знать, как сделать commbobox, который показывает список всех пользователей в моей базе данных, позвольте мне объяснить:Ruby: Как я могу сделать выпадающее, который показывает

У меня есть два clases:

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 

И у меня есть шоу создать представление для класса проверки:

<%= 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 %> 

Так что в конце концов у меня есть выпадающий со всеми пользователями, я нуб рельсам действительно знают, как сделать это так, любая помощь приветствуется

ответ

1

Вы можете сделать что-то вроде ниже, чтобы достичь того, чего хотите.

<%= f.select :user_id, User.all.collect { |u| [ u.name, u.id ] } %> 

Для получения дополнительной информации, Вы можете обратиться к этому link

+1

Благодаря человеку это было очень полезно! –

Смежные вопросы