Je suis en train d'afficher un formulaire de commentaires dans la vue de mon type modèle (types # show)Affichage form_for pour la méthode de commentaires dans le show vue
Les routes sont définies comme suit
Rails.application.routes.draw do
devise_for :users
root to: "products#index"
resources :types do
member do
get :vote, :as => :vote
post "vote" => "types#vote"
get :comment, :as => :comment
post "comment" => "types#comment"
end
end
resources :models
resources :products
resources :brands
# For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html
end
Le commentaire méthode types_controller.rb
def comment
user = current_or_guest_user
@type = Type.find(params[:id])
user_review = params[:review]
@type.review(user_review, user)
redirect_to @type, notice: 'Thank you for your comment.'
end
J'ai des problèmes de réglage correctement le form_for dans les vues
<%= form_for comment_type_path(@type) do |f| %>
<div><h3>How likely are you to recommend our service to your friends, family or colleagues?</h3></div>
<div><h3>Can you please tell us why you gave us this score?</h3></div>
<div class="field-box">
<br>
<%= f.text_area :review, class: "form-control", rows: "4" %><br>
</div>
<div class="actions">
<%= f.submit 'Vote', class: 'btn-flat success new-product' %>
</div>
<% end %>
me donne l'erreur suivante: Aucun résultat de route [POST] "/ types/5"
<%= form_for @type, url: comment_type_path(@type), method: :post do |f| %>
<div><h3>How likely are you to recommend our service to your friends, family or colleagues?</h3></div>
<div><h3>Can you please tell us why you gave us this score?</h3></div>
<div class="field-box">
<br>
<%= f.text_area :review, class: "form-control", rows: "4" %><br>
</div>
<div class="actions">
<%= f.submit 'Vote', class: 'btn-flat success new-product' %>
</div>
<% end %>
donne
ArgumentError dans Types # show Afficher/home/jan/Documents/supplément/app/views/types/show.html.erb où la ligne n ° 62 soulevé:
mauvais nombre d'arguments (0 pour 2)
Quelle est la ligne 62 de 'show.html.erb'? ArgumentError peut être dû à votre appel de méthode. Votre dernière syntaxe 'form_for' est correcte – kiddorails
<% = f.text_area: avis, classe:" form-control ", lignes:" 4 "%>
– Jan
pouvez-vous créer [' gist'] (https: // gist. github.com) avec toute votre vue et votre backtrace? – kiddorails