attach_file
находит элемент ввода файла по его идентификатору, имени или связанному тексту метки, поэтому picture
явно не соответствует ни одному из них.Без фактического HTML, созданного вашим шаблоном erb
, невозможно точно определить, каковы атрибуты для вашего ввода, но, основываясь на ваших именах маршрутов, вы, вероятно, захотите что-то вроде одного из следующих
attach_file 'post_picture', "#{Rails.root}/spec/files/attachment.jpg" # match id of the file input
attach_file "post[picture]", "#{Rails.root}/spec/files/attachment.jpg" # match name of the file input
attach_file "Picture", "#{Rails.root}/spec/files/attachment.jpg" # match associated label text
* 1006.* Другая потенциальная проблема, с которой вы можете столкнуться - это стилизация CSS вашего файла.Если ввод вашего файла фактически невидим, а затем заменен какой-то кнопкой или изображением, чтобы он выглядел лучше, тогда вам нужно будет использовать опцию
make_visible
, которую можно передать в
attach_file
.Это временно настроит CSS, чтобы сделать ввод видимым - прикрепите файл - и затем сбросьте CSS в исходное состояние.Что-то вроде
attach_file 'post_picture', "#{Rails.root}/spec/files/attachment.jpg", make_visible: true