Получение атрибутов Paperclip для Cocoon в Rails

Я пытаюсь использовать драгоценный камень Cocoon с драгоценным камнем Paperclip в Rails. Мой объект has_many :attachment и вложения has_attached_file :attachment_file.

Я хотел бы, чтобы поля отображались как обычный текст, а вложение_file.name отображалось в частичном.

Объекты визуализируются следующим образом:

          =f.fields_for :attachments do |attachment|
            =render 'attachment_fields2', f: attachment

Вот партиал, который отображается внутри формы «объект»:

.row.nested-fields.col-xs-12
tr
    .col-xs-12
        .form-inline
            .col-xs-12.no-padding
                =f.file_field :attachment_file, class:"col-xs-4"
                =attachment.name, class:"col-xs-7"//////this line throws an error
                =link_to_remove_association f do
                    |<i class="fa fa-times col-xs-1"></i>

Любая помощь приветствуется.


person Suavocado    schedule 13.07.2015    source источник
comment
Разве это не должно быть f.name? А также, пожалуйста, опубликуйте свой полный журнал ошибок.   -  person Pavan    schedule 13.07.2015
comment
Что вы подразумеваете под attachment_file.name для отображения в партиале?   -  person Pavan    schedule 13.07.2015
comment
@Pavan с домашней страницы paperclip Paperclip будет содержать до четырех атрибутов (все с префиксом имени этого вложения, поэтому при желании вы можете иметь несколько вложений для каждой модели) и предоставит им дружественный интерфейс. Вот эти атрибуты: ‹attachment›_имя_файла ‹attachment›_размер_файла ‹attachment›_content_type ‹attachment›_updated_at Я хотел бы, чтобы это имя файла было в форме, но не было привязано к полю.   -  person Suavocado    schedule 13.07.2015
comment
@Pavan f.name тоже ничего не отображает. Ошибка гласит: синтаксическая ошибка, неожиданный tLABEL, ожидание '=' ...ynamic((f.name, class:col-xs-7), false, \n... ... ^   -  person Suavocado    schedule 13.07.2015
comment
Я понял. Попробуйте attachment.attachment_file_name Если не работает, попробуйте f.attachment_file_name   -  person Pavan    schedule 13.07.2015
comment
Если вышеперечисленное не работает, попробуйте params[:attachment][:attachment_file_name]   -  person Pavan    schedule 13.07.2015
comment
Удачи с предложениями?   -  person Pavan    schedule 13.07.2015
comment
@Pavan Мне не очень повезло с вашими предложениями, но мне удалось заставить его работать, используя вложение.object.attachment_file.name, а не вложение.attachment_file.name. Именно благодаря вашим комментариям я могу найти этот ответ, поэтому, если вы его напечатаете, я отмечу его как правильный ответ :)   -  person Suavocado    schedule 13.07.2015
comment
Работал ли f.object.attachment_file.name или f.object.attachment_file_name?   -  person Pavan    schedule 13.07.2015
comment
@Pavan Я не уверен, что вы имеете в виду, внутри =f.fields_for :rfq_attachments do |attachment| я добавил вложение.object.attachment_file.name   -  person Suavocado    schedule 13.07.2015
comment
Хорошо. Я не могу опубликовать свой ответ, потому что я не знаю, как это сработало. Вы можете опубликовать решение как свой ответ и пометить его как принятое :)   -  person Pavan    schedule 13.07.2015
comment
@Pavan Хорошо, спасибо за помощь. Желаем удачи в будущем.   -  person Suavocado    schedule 13.07.2015


Ответы (1)


Итак, я обнаружил, что могу получить атрибуты из построителя форм, используя .object

Вместо

=attachment.name, class:"col-xs-7"

я сделал

=attachment.object.name
person Suavocado    schedule 13.07.2015