用户编辑视图:
<%= form_for(@user, :html => {:multipart => true}) do |f| %>
<%= f.text_field :name, placeholder: :name %>
<%= f.submit "Save" %>
<%= f.fields_for :photos do |photo_fields| %>
<%= image_tag(photo_fields.object.photo.url(:user_thumbnail) %>
<%= f.radio_button :avatar, @selected_photo_number %>
因此,我会显示用户上传的所有照片以及每个照片旁边的单选按钮。我怎么能这样做,当我点击第一个@selected = 0和第二个@selected = 1等等。基本上我需要知道照片在数组@ user.photos []中的哪个位置。谢谢!
而不是@selected_photo_number
我需要像数组中的photo_fields.object.place
答案 0 :(得分:4)
我认为你正在寻找index
。
>> array = [1,2,3,4,5]
>> array.index(1) # 0
>> array.index(3) # 2
但是使用您的代码,我认为您正在寻找each_with_index
而不是
<% f.object.photos.each_with_index do |photo, index| %>
<%= f.fields_for :photos, [photo] do |photo_fields| %>
<%= image_tag(photo_fields.object.photo.url(:user_thumbnail) %>
<%= f.radio_button :avatar, index %>