我正在學習一個教程,我必須創建一個目錄網站。由於需要有用戶可以撰寫評論的頁面,因此我會爲評論創建視圖和表單。我也做了步驟是:Rails應用程序視圖中的NoMethodError
1 - 創建的app /意見/審查的評論文件夾:
2 - 內創建該文件夾的部分稱爲_forms.html.erb的評論
<%= 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 - 要渲染的地方審查/ _form /節目我補充一下:
<div class="col-md-9">
<h3>Reviews by People</h3>
<%= render 'reviews/form' %>
</div>
得到試圖呈現形式讓我去PlacesController當一個錯誤,我把下面的代碼行展示方法:
# GET /places/1
# GET /places/1.json
def show
@review = Review.new
end
我的routes.rb文件已獲得評論的路由。我得到的錯誤是:
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'
我可以更好地瞭解
你的名字在這裏有點混亂。頁面與地點。你可能同時擁有PagesController和PlacesController,並忘記在正確的PlacesController中添加顯示操作 – rohan
我更正了關於該問題的信息,謝謝。我有一個PagesController和一個PlacesController。在我的PagesController上只有def home方法,裏面沒有任何東西。在我的PlacesController的show動作中,我有這個:@review = Review.new – samureira
Review表中的列是什麼。 – rohan