nie wiem jak zapisać obraz mocowania URL, ale w ogóle, nazwa pliku powinna lubię:
/Users/mohit/projects/my_app/public/system/attachments/4/original/Screen Shot 2011-11-04 at 3.14.03 PM.png
Wskazówka nie ma w końcu „xxxxx?”.
Możesz sprawdzić swój system plików, czy nazwa pliku to "Zrzut ekranu 2011-11-04 o 3.14.03 PM.png" lub "Zrzut ekranu 2011-11-04 o 3.14.03 PM.png? 1320582022 ".
Dla adresu URL pliku może to być coś takiego: http://example.com/xxx?dddd, który znak "?" podziel ścieżkę i parametry. Ciąg "dddd" jest parametrem, gdy ścieżka URL żądania, nie jest częścią ścieżki lub nazwy pliku. Parametry obsługiwane są tylko w adresie URL, a nie w lokalnej nazwie pliku.
Tak więc, myślę, że trzeba sprawdzić kod zapisywania adresu URL załącznika obrazu, który musi wykluczyć parametry i tylko nazwę pliku. Upewnij się, że nazwa jest dokładnie taka sama, jak plik zapisany na dysku.
I można spróbować otworzyć plik choć IRB bezpośrednio i sprawdzić wyjście:
>>> irb
irb> f = open('/Users/mohit/projects/my_app/public/system/attachments/4/original/Screen Shot 2011-11-04 at 3.14.03 PM.png?1320582022')
Inni starają się znaleźć lokalizację błędu w send_file i sprawdzić nazwę pliku.
Nadal nie mogę się upewnić, co to naprawdę jest, tylko niektóre sugestie.
jeśli przeanalizujesz kod przy użyciu hamulca, to pokaże on błąd jako atrybut MOdel używany jako nazwa pliku. po prostu uruchom hamulec. jego rozważanie jako send_file Image.find (parametry [: id]). Uploaded_file.path – errakeshpd