2016-11-02 4 views
0

Ich habe einen Fehler, den ich nicht lösen kann. Nachdem ich mini_magick installiert habe, möchte ich ein Bild zu meinem Produkt hochladen. Aber es gibt mir den folgenden Fehler:ArgumentError in Admin :: ProductsController # erstellen falsche Anzahl von Argumenten (gegeben 1, erwartete 2..3)

ArgumentError in Admin::ProductsController#create wrong number of arguments (given 1, expected 2..3)

Es ist das erste Mal, dass ich hier eine Frage gestellt habe. Wenn Sie mehr Informatian wissen wollen, lassen Sie es mich wissen. Vielen Dank für deine Hilfe.

rails log.

controller.

+0

Pls Ändern reframe Ihre Frage again.is es NilClass Fehler auf der Ansichtsseite oder die falsche Anzahl von Argumenten unter Bezugnahme auf die question.Kindly spezifisch erwähnt. :) – Milind

+0

Es ist die falsche Anzahl von Argumenten :) –

+1

Sie müssen eine bestimmte Frage stellen, zusammen mit, wie Sie versucht haben, die Fehlermeldung zu verstehen, die Sie erhalten. Weitere Informationen finden Sie unter "So stellen Sie eine gute Frage" (http://stackoverflow.com/help/how-to-ask). – jacefarm

Antwort

0

Mit Blick auf die Fehlermeldungen ist das Problem, dass Sie versuchen, die image Methode auf @product, die nil ist. Es sollte eigentlich product sein, da es die lokale Variable ist, mit der Sie die Datensätze iterieren.

<%= link_to product_path(product) do %> 
    <% if product.image.present? %> 
    <%= image_tag product.image.medium.url, class: 'thumbnail' %> 
    ... 
    <% end %> 
<% end %> 
+0

Es tut mir leid, ich kann es total nicht verstehen.Ich bin ein neuer Ankömmling. Was soll ich als Problem machen, kannst du mir mehr erzählen? –

+0

@ 代 小 瘦 Sie verwenden '@ product' in Ihrer Indexvorlage (' index.html.erb'). Ersetzen Sie dies durch 'product', da' @ product' im Controller nicht definiert ist und 'nil' ist. –

+0

ok.Ich werde es versuchen.Wir danken Ihnen sehr ~~ –

0

Da die Rails Fehlermeldung besagt, sich einzuloggen, liegt das Problem auf der Linie 27 Ihrer admin/products/index.html.erb Vorlage.

In dieser Zeile verweisen Sie auf eine Instanzvariable @product, die für diese Aktion nicht definiert ist (Admin::ProductsController#index).

Da Sie in einem Index-Vorlage sind, werden Looping Sie wahrscheinlich über die @products Sammlung, in dem Fall, dass Sie wahrscheinlich bedeutete die lokale Variable product zu nennen, nicht die Instanzvariable@product.

Versuchen Sie es zu

<%= if product.image.present? %> 
    <%= image_tag(product.image.medium.url, class: "thumbnail" %> 
+0

OK, ich weiß ~ vielen Dank ~~~ :) –

Verwandte Themen