Tôi đã đấu tranh với điều này trong nhiều ngày và dường như không thể tìm ra điều gì sai. Tôi đang cố gắng cho phép các tệp đính kèm đa hình vào một mô hình Item
, thuộc về mô hình Location
. tuyến đường của tôi được định nghĩa là:Lỗi với đá quý nested_form: sai số đối số (4 cho 3)
resources :locations do
resources :items
post :sort
end
resources :items do
resources :assets #model for attachments
end
Tôi đi theo a tutorial về làm chính xác điều này với carrierwave và nested_form. Sau khi thiết lập mọi thứ, tôi nhận được lỗi sau khi yêu cầu hành động New
cho kiểu Item
: wrong number of arguments (4 for 3)
. Nó nói với tôi những lỗi đang xảy ra tại dòng 7 của quan điểm này:
<%= nested_form_for [@location, @item], :html => { :multipart => true } do |f| %>
<p>
<%= f.label :name %><br />
<%= f.text_field :name %>
</p>
<%= f.fields_for :assets do |a_form| %> ### LINE 7 ####
<p>
<%= a_form.label :file %><br />
<%= a_form.file_field :file %>
<%= a_form.hidden_field :file_cache %>
</p>
<%= a_form.link_to_remove "Remove this attachment" %>
<% end %>
<%= f.link_to_add "Add attachment", :assets %>
<p><%= f.submit %></p>
<% end %>
Nếu tôi không sử dụng đá quý nested_form và bắt đầu ra quan điểm với một bình thường form_for
, tôi nhận được không có lỗi và tôi có thể đính kèm thành công một tệp duy nhất cho Item
. Tôi có thể thử và tiến hành mà không có đá quý, nhưng (theo như tôi hiểu) nested_form sẽ tự động hóa một số chức năng như loại bỏ các tập tin và tạo ajax để thêm tập tin đính kèm mới.
Tôi đã tự hỏi liệu có ai đó đã gặp phải lỗi này hay không biết tôi đang gây ra lỗi nào gây ra sự cố với nested_form? Tôi hiểu ý nghĩa của lỗi, chỉ cần không chắc chắn ở đâu/tại sao các đối số thêm đang được ném vào. Tôi đánh giá rất cao bất kỳ cái nhìn sâu sắc bạn có thể cung cấp!
FYI thiết lập của tôi dev: đường ray (3.1.0, 3.0.10), nested_form (0.1.1), carrierwave (0.5.7)
CẢM ƠN! Tôi không thể tin được đó là tất cả. Tôi đã thấy [bài đăng này] (http://stackoverflow.com/questions/6655674/rails-simple-nested-form-for-fields-for-wrong-number-of-arguments) trong đó nhận xét đã đề cập đến phiên bản đang diễn ra của ngày ... tuy nhiên số phiên bản của tôi trùng khớp và bài đăng là từ tháng 7 nên tôi cho rằng rubygem đã được cập nhật và tôi chưa bao giờ nghĩ đến nó. Cảm ơn một lần nữa, đánh giá cao thời gian của bạn. Bạn cai trị :) – Denny