使用用户ID创建数组

时间:2015-04-03 17:27:46

标签: ruby-on-rails ruby

我在Rails中使用设计和自定义控制器。

在控制器中,我有:

def new
  @users = Users.where(store_id: 5)
  @array_of_users = []
end

在视图中我有:

<%= f.hidden_field :employees, value: @users %>

基本上,我只想获取员工ID并将其存储到数组中,因此如果我们有一个id = 50的用户和另一个id = 56的用户,那么将[50,56]存储在隐藏字段中。 我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

使用此:

def new
  @users = Users.where(store_id: 5)
  @user_ids = @users.pluck(:id)
  @array_of_users = [] # no ides what is this for, so kept as it is.
end

然后在视图中:

<%= f.hidden_field :employees, :multiple => true, value: @user_ids %>

答案 1 :(得分:0)

只需直接从数据库中选择用户ID,它就会返回一个数组。如果将数组转换为字符串,您将得到如下内容:[1,5,6,7]

def new
  @users = User.where(:store_id, 5).select("id")
end

<%= f.hidden_field :employees, value: @users.to_s %>