1
@photos = @user.photos[0..2, 4..6] if @user.avatar == 3

这种语法似乎不起作用。我不能将很多参数放入像 [1,2,3,4] 这样的数组中吗?或 [1, 4..6]?

出于某种原因,我收到错误无法将范围转换为整数

4

1 回答 1

2

如果参数是一个范围,Ruby 不允许您将多个参数传递给 []。

你可以在这里使用这个丑陋的东西:

@photos = @user.photos
@photos = @photos[0..2] + @photos[4..6] if @user.avatar == 3

但你最好使用:

@photos = @user.photos
@photos.delete_at 3

删除第三个元素。

干杯,

于 2013-04-18T23:21:52.540 回答