PaperClip

Hej,

Mam pytanie co do GEM.

Wszystko ładnie działa, obrazek się uploaduje itp. Wyświetlanie z poziomu widoku działa.
Ale teraz chce wszystko pobrać np Image.all i w kolumnie np images_orginal powina być pełna ścieżka do pliku . w kolumnie image_file_name mam nazwę ale potrzebuję pełną sciężkę. A paperclip sam sobie je jakoś tworzy.

Paperclip nie zapisuje ścieżki w bazie danych. Generuje ją na podstawie :url i :path, które definiujesz w modelu, w has_attached_file. Wystarczy, że wywołasz funkcje url na zalaczniku, a otrzymasz do niego scieżkę np. user.image.url lub jesli masz zdefiniowane jakieś dodatkowe rozmiary np. miniaturkę user.image.url(:thumb). Domyślna ścieżka Paperclip wygląda następująco :url=>"/system/:class/:attachment/:id_partition/:style/:filename"

Wiem. Na poziomie widoku mi działa. Ale potrzebuję pobrać dane z tabeli i JSON odbierze sobie je ktoś inny np na telefonie… i w JSON chce już mieć pełny adres URL do obrazka. ze url(:small) będzie np działać wiem

czyli wowołuje np Image.where(:id => 3) i zwraca mia tablica gdzie już będzie pełny adres do obrazka…

Przeładuj sobie metodę modelu Image#as_json

np:

def as_json(options={})
  super(options).merge(image_url: image.url)
end

model mam tak

 class Image < ActiveRecord::Base
    belongs_to :exp

    validates_presence_of :description
    validates_presence_of :image

    #upload
    has_attached_file :image
      
end

a drugi

class Exp < ActiveRecord::Base
  has_many :image, dependent: :destroy
end

Gdzie mam to dodać?

Do Image