Je suis un tutoriel dans lequel je dois créer une sorte de site d'annuaire. Comme il est nécessaire d'avoir une page où un utilisateur peut écrire une critique, je crée les vues et le formulaire pour les critiques. Les étapes que j'ai suivies sont les suivantes :
1 - Création d'un dossier reviews dans app/views/reviews :
2 - Créez à l'intérieur de ce dossier un partiel appelé _forms.html.erb pour les revues
<%= simple_form_for(@review) do |f| %>
<%= f.error_notification %>
<div class="form-inputs">
<%= f.input :content, required: true %>
<%= f.hidden_field :place_id, required: true, value: @place_id %>
</div>
<div class="form-actions">
<%= f.button :submit %>
</div>
<% end %>
3 - Pour rendre l'évaluation/le formulaire sur les lieux/spectacles que j'ajoute :
<div class="col-md-9">
<h3>Reviews by People</h3>
<%= render 'reviews/form' %>
</div>
J'ai obtenu une erreur en essayant de rendre le formulaire. J'ai donc utilisé PlacesController et j'ai ajouté la ligne de code suivante à la méthode show :
# GET /places/1
# GET /places/1.json
def show
@review = Review.new
end
Mon fichier routes.rb contient les routes pour les revues. L'erreur que j'ai obtenue est la suivante :
NoMethodError in Places#show
Showing C:/workinrails/myyelpapp/app/views/reviews/_form.html.erb where line #5 raised:
undefined method `content' for #<Review:0x9200a30>
Trace of template inclusion: app/views/places/show.html.erb
app/views/reviews/_form.html.erb:5:in `block in _app_views_reviews__form_html_erb___988880813_76383660'
app/views/reviews/_form.html.erb:1:in `_app_views_reviews__form_html_erb___988880813_76383660'
app/views/places/show.html.erb:13:in `_app_views_places_show_html_erb__530556826_71913768'
Je peux fournir des extraits de code pour une meilleure compréhension.