-2

私はRuby、Rails、およびプログラミング全般に不慣れなので、質問が非常に些細なことである場合はご容赦ください。私はこのビューを持っています:

<h1>Listing products</h1>

<table>
  <tr>
    <th>\</th>
    <th></th>
    <th></th>
    <th></th>
  </tr>

<% @products.each do |product| %>
  <tr>
    <td><%= product.\ %></td>
    <td><%= link_to 'Show', product %></td>
    <td><%= link_to 'Edit', edit_product_path(product) %></td>
    <td><%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } %></td>
  </tr>
<% end %>
</table>

<br />

<%= link_to 'New Product', new_product_path %>

リンクにアクセスしようとするとhttp://localhost:3000/products、次のエラーが表示されます。

 SyntaxError in Products#index

Showing C:/Sites/depot/app/views/products/index.html.erb where line #13 raised:

C:/Sites/depot/app/views/products/index.html.erb:13: syntax error, unexpected $undefined
...tput_buffer.append= ( product.\ );@output_buffer.safe_concat...
...                               ^
C:/Sites/depot/app/views/products/index.html.erb:18: syntax error, unexpected keyword_end, expecting ')'
'); end 
       ^
C:/Sites/depot/app/views/products/index.html.erb:25: syntax error, unexpected keyword_ensure, expecting ')'
C:/Sites/depot/app/views/products/index.html.erb:27: syntax error, unexpected keyword_end, expecting ')'

Extracted source (around line #13):

10: 
11: <% @products.each do |product| %>
12:   <tr>
13:     <td><%= product.\ %></td>
14:     <td><%= link_to 'Show', product %></td>
15:     <td><%= link_to 'Edit', edit_product_path(product) %></td>
16:     <td><%= link_to 'Destroy', product, method: :delete, data: { confirm: 'Are you sure?' } %></td>

Trace of template inclusion: app/views/products/index.html.erb

Rails を学ぶために本の例に従っていただけなので、基本的にこのビューのコーディングは何もしていません。誰かが私を正しい方向に向けることができますか?

4

3 に答える 3

4

<%= product.name %>代わりに(目的の属性に代入)を入れる必要があります<%= product.\ %>

間違った構文の下にある小さなキャレットは、エラーの原因を示しています。

于 2013-04-24T08:30:30.110 に答える
0

rails は非常に有用なログを生成します。行番号とファイル名が表示されるので、一度読んでください。

<%= product.\%> を <%= product.name %> に置き換えます。name は製品の属性です。

于 2013-04-24T08:52:51.623 に答える