你怎么找到阵列中的什么地方?

时间:2013-04-18 08:44:33

标签: ruby-on-rails arrays forms radio-button

用户编辑视图:

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

1 个答案:

答案 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 %>