Rails: скрепка с несколькими изображениями-заполнителями? - PullRequest
1 голос
/ 15 июня 2011

Я пытался поэкспериментировать с аватарами для пользователей в моем приложении, и я настроил это так, чтобы пользователь мог загрузить изображение с помощью Paperclip. Скрепка имеет приятную функциональность по умолчанию, где вы можете определить изображение заполнителя, когда пользователь не загрузил изображение. Что мне интересно, так это то, есть ли способ создать набор изображений-заполнителей и сделать так, чтобы скрепка выбрала случайное изображение при создании соответствующей записи? То есть не все значки "без аватара" должны быть одинаковыми?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 15 июня 2011

Моим лучшим предположением о том, как этого добиться, будет «переопределение» доступа к изображениям вашего аватара.

Может быть что-то из следующего:

 module UserHelper

   def avatar_url(user)
     user.avatar ? user.avatar.url : random_avatar_url
   end

   def random_avatar_url
     ...
   end

 end

Таким образом, вы можете использовать один интерфейс для доступа к существующему аватару или случайно выбранный из ваших представлений. Вы не хотите использовать random_avatar_url непосредственно из своих представлений, поэтому, возможно, в частном порядке или защитите его, чтобы другие знали.

0 голосов
/ 01 марта 2013
class User
  def avatar_image
   avatar.exists? ? avatar.url : "path_to_placeholder_image"
  end
end
...