2014-11-18 6 views
0

에 ActiveSupport :: SafeBuffer의 암시 적 변환은 여기 내 부분 _new_post.html.haml 없습니다 :이 =f.has_many :attachments do |a| 라인에 no implicit conversion of ActiveSupport::SafeBuffer into 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' 

문제는 내가 오류에 따라 얻을 것입니다.

builder: ActiveAdmin::FormBuilder을 제거하면 undefined method 'has_many' for #<Formtastic::FormBuilder:0x007fda897dfc88> 오류가 발생합니다.

누구나 이와 비슷한 것을 직면 했습니까?

답변

0

사실 나중에 발생 했으므로 해결 방법은 간단히 bundle update activeadmin입니다.

1

FormHelper has_many은 없습니다.

has_many 연관을위한 입력란을 만들고 싶습니다. 그 도우미는 fields_for입니다.
봅니다 :

= 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를 모른다.

여러 첨부 파일을 추가/삭제하려면 다음을 수행하십시오. 은이 항목에 gem cocoon입니다.

+0

안녕하세요, 답장을 보내주세요. 그것은 어리석은 광산이었습니다. 나는 fields_for가 아닌 필드를 시도했습니다. D 여전히 작동하지 않습니다. 아무 것도 보여주지 않습니다. 코드가 작성되지 않은 것처럼 HTML을 추가하지 않습니다. –

+0

첨부 파일이 이미 있습니까? field_for는 새 첨부 파일의 필드를 표시하지 않습니다. (수동으로 Post.new에 새 첨부 파일을 작성하지 않은 경우) –

+0

그래, 내가 새 액션 def show에 표시했습니다. post = Post.new post.attachments.build end (내가 다른 컨트롤러에서 빌드했기 때문에 그것이 실제로 보여지는 것을 두려워하지 않는다.) 실제로 사용자가 첨부 파일을 추가하여 –