6

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)

Trả lời

15

Để có được nested_form làm việc với đường ray 3.1, tôi đã phải kéo mới nhất từ ​​github thay vì sử dụng những gì trong đá quý. Trong Gemfile của tôi:

gem "nested_form", :git => "git://github.com/ryanb/nested_form.git" 
+0

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

Các vấn đề liên quan