versez
July 30, 2019, 5:47pm
1
Witam jestem nowy w railsach i szukam rozwiązania jak zmienić taki domyślny url
http://0.0.0.0:3000/files/5
na coś takiego albo coś podobnego
http://0.0.0.0:3000/files/filename+id+sometext
używam Active Storage do uploadowania plików. Znalazłem metode to_param ale w 5.2 nie działa. Jakieś wskazówki?
lis2
July 30, 2019, 11:11pm
2
1 Like
versez
July 31, 2019, 1:23pm
3
niestety próbowałem już tego ale nie działa z active storage
Dejan
August 1, 2019, 6:00pm
6
A napisz pls w jaki sposób nie działa? Jakiś błąd wyskakuje może gdzieś z komunikatem?
Wklej też to co masz wpisałeś do routes.rb, żeby uzyskać tą ścieżkę. Rozpykamy problem, tylko więcej danych mi potrzeba, żeby nie strzelać, bo tam dużo rzeczy może nie banglać.
versez
August 1, 2019, 9:22pm
7
Dzieki za podpowiedzi na razie zostawiam ten problem na krótką chwilę ale napisze dokładnie co i jak robiłem, czyli:
dodanie gemu, install
rails g migration add_slug_to_active_storage_blobs slug:uniq
rails generate friendly_id, rails db:migrate, tutaj wszystko ok dodało slug do tabeli
extend FriendlyId
friendly_id :name, use: :slugged
dodane do modelu
5. dodałem friendy do controler
@test = ActiveStorage::Attachment.friendly.find(params[:id])
i to generuje
undefined method `friendly’ for #Class:0x000055bda52aeeb0 Did you mean? friendly_id
?
versez
August 6, 2019, 1:55pm
8
Ok napiszę jak udało mi się to zrobić może komuś się przyda
w routes
resources :files, param: :filename
w controller/show
@blob = ActiveStorage::Blob.find_by(filename: params[:filename])
po tym trzeba jeszcze dodać funkcje rename żeby w nazwie nie było kropki nad czym teraz walczę plus jakiś random kilko znakowy.