我在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]存储在隐藏字段中。 我怎么能这样做?
答案 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 %>