2014-11-18 3 views
0

Здесь не моя частичная _new_post.html.haml:нет неявного преобразования ActiveSupport :: SafeBuffer в Integer

= semantic_form_for Post.new, as: :post, url: client_panel_discussion_posts_path(resource), html: { data: { discussion_posts_url: client_panel_active_submission_discussion_url(resource.client_application, id: resource.slug) }, multipart: true}, builder: ActiveAdmin::FormBuilder, remote: true, method: :post do |f| 
    =f.inputs do 
    =f.input :body 
    =f.has_many :attachments do |a| 
     =a.input :s3_url, as: :hidden, input_html: { class: "s3_url" } 
     =a.s3_file_field :attachment, as: :file, class: 'js-s3_file_field' 

Проблема заключается в том, что я получаю следующее сообщение об ошибке : no implicit conversion of ActiveSupport::SafeBuffer into Integer указывающих на эту =f.has_many :attachments do |a| линии.

Если убрать builder: ActiveAdmin::FormBuilder Я получаю undefined method 'has_many' for #<Formtastic::FormBuilder:0x007fda897dfc88> Ошибка.

Кто-нибудь сталкивался с чем-то вроде этого?

ответ

0

Фактически, как это было позже, решение было просто запустить bundle update activeadmin.

1

Нет формыHelper has_many.

Похоже, вы хотите создать поля для ассоциации has_many. Помощник для этого - fields_for.
Try:

= semantic_form_for @post, as: :post, url: client_panel_discussion_posts_path(resource), html: { data: { discussion_posts_url: client_panel_active_submission_discussion_url(resource.client_application, id: resource.slug) }, multipart: true}, builder: ActiveAdmin::FormBuilder, remote: true, method: :post do |f| 
    =f.inputs do 
    =f.input :body 
    =f.fields_for :attachments do |a| 
     =a.input :s3_url, as: :hidden, input_html: { class: "s3_url" } 
     =a.s3_file_field :attachment, as: :file, class: 'js-s3_file_field' 

я не пробовал. Я не знаю s3_file_field.

Если вы хотите добавить/удалить несколько прикрепленных файлов: есть хороший по этой теме a посмотреть на gem cocoon.

+0

эй, thx для ответа !! Это было глупо мое - я пробовал поля, а не fields_for: D Тем не менее он не работает, он ничего не показывает, не добавляет ни одного html - как будто никакого кода не было написано. –

+0

У вас уже есть приложения? Поле field_for не показывает поле для новых вложений (если вы не вручную создали новое приложение на Post.new) –

+0

Да, у меня есть это в моем новом действии show show post = Post.new post.attachments.build end (неважно, что это шоу, потому что я создаю его в другом контроллере). Я действительно хочу разрешить пользователю добавлять вложения для сообщения –

Смежные вопросы