私はディレクトリ・ウェブサイトの一種を作成する必要があるチュートリアルに従っています。ユーザーがレビューを書くことができるページを持つ必要があるため、私はレビューのためのビューとフォームを作成します。私が行っているの手順は以下の通りであった。RailsアプリケーションのビューでのNoMethodError
1 - アプリ/ビュー/レビューのレビューフォルダ作成:
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に行ってきましたので、フォームをレンダリングしようとすると、エラーを持って、私は次のコード行を置きますshowメソッド:
# 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'
は私が
あなたの名前に少し混乱があります。ページvsプレイスあなたはおそらくPagesControllerとPlacesControllerの両方を持っていて、正しいPlacesControllerにshowアクションを追加するのを忘れました – rohan
私はその情報を訂正しました。私はPagesControllerとPlacesControllerを持っています。私のPagesControllerには何もないdefホームメソッドしかありません。私のPlacesControllerのショーアクションで、私はこれを持っています:@review = Review.new – samureira
レビューテーブルの列は何ですか? – rohan