Arrays 轨道3。无法在数组中循环
我正在Rails 3中开发一个小应用程序。 在一个页面上,我为数组中的每个用户(在每个循环中)收集ID。然后我将该数组的内容放在一个隐藏的文本字段中,并将其发送到一个名为“add_all”的方法中。在这个方法中,我得到了一个循环,它应该选择每个用户id并将其逐个添加到数据库中,但它只添加第一个 在视图中(有点简化):Arrays 轨道3。无法在数组中循环,arrays,ruby-on-rails-3,Arrays,Ruby On Rails 3,我正在Rails 3中开发一个小应用程序。 在一个页面上,我为数组中的每个用户(在每个循环中)收集ID。然后我将该数组的内容放在一个隐藏的文本字段中,并将其发送到一个名为“add_all”的方法中。在这个方法中,我得到了一个循环,它应该选择每个用户id并将其逐个添加到数据库中,但它只添加第一个 在视图中(有点简化): 参数[:profile\u id],:friend\u id=>id) @profile.contacts您正在ProfileID数组中调用“join”。这使它成为一个字符串,因
参数[:profile\u id],:friend\u id=>id)
@profile.contacts您正在ProfileID数组中调用“join”。这使它成为一个字符串,因此不能使用“each”遍历它
您应该在控制器中执行以下操作:
id_array = params[:profileids].split(",")
id_array.each do |id|
@profile = Profile.find(params[:profile_id])
@contact = Contact.create(:profile_id => params[:profile_id], :friend_id => id)
@profile.contacts << @contact
end
id\u array=params[:profileid].split(“,”)
id|u数组。每个do|id|
@profile=profile.find(参数[:profile\u id])
@contact=contact.create(:profile\u id=>params[:profile\u id],:friend\u id=>id)
@profile.contacts试试这个
params[:profileids].split(",").each do |id|
基本上,您是在尝试通过字符串而不是数组进行迭代。就像一个符咒!非常感谢。
id_array = params[:profileids].split(",")
id_array.each do |id|
@profile = Profile.find(params[:profile_id])
@contact = Contact.create(:profile_id => params[:profile_id], :friend_id => id)
@profile.contacts << @contact
end
params[:profileids].split(",").each do |id|