2016-03-20 11 views
0

Railsに新しく、お気に入りを追加しようとしました。私のアプリの投稿に心臓を使用していましたが、なぜこのsytaxエラーが出るのかわかりません。チュートリアルの手順を一歩一歩踏んだことがありますか?Hearing in Rails構文エラー

/hearts /お気に入り/ app/views/rooms/show.html.erb:292:ファイルの最後に一致する/ユーザー/ leehumphreys/Desktop/heartsがお気に入り/ app/views /部屋/ show.html.erb:292:構文エラー、予期しない終了の入力、期待「)」

<% @rooms.each do |room| %> 
    <%= room.title %> 
    <%= div_for room do %> 
    render "hearts/button”, room: room 
    <% end %> 
    <% end % 

実際<%する@ rooms.eachでエラーが発生しない取得|部屋| %>

答えて

2

まず:あなたは出力に結果を必要とするので

<% room.title %> 

は、このように、何もしません。

<%= room.title %> 

はその後、あなたは1あまりにも多くのendを持っています。基本的には、あなたのenddoの完了です

<%= room.title %> 
<%= div_for room do %> 
    <%= render partial: "hearts/button”, locals: { room: room } %> 
<% end %> 

:あなたは一つだけボックを閉じる必要があります。 doはブロックを開始し、ブロックはendで終わらなければなりません。回答するコメントの後

render "hearts/button”, room: room 

更新:

また、あなたのように簡略化することができ、レンダリング注意

<% @rooms.each do |room| %> 
    <%= room.title %> 
    <%= div_for room do %> 
    <%= render "hearts/button”, room: room %> 
    <% end %> 
<% end %> 

を私はあなたには、いくつかのERBチュートリアル、this one for exampleを見てみましょうお勧めします。

+0

ヘルプecoologicのおかげで、私は<%@ rooms.each do | room | %>行になり、エラーが発生します。 – Lee

+0

@lee別の 'do'(' each'行内)を使うと、別の 'end'が必要になります。レンダリングは_interpolated_する必要があります。答えが気に入ったら、「答えた」と記入してください。答えの左上にプラスの票の下に緑のチェックボタンがあります。ハッピーハッキング – ecoologic