Шаблон Ruby Erb - попробуйте изменить макет - получите ошибку - PullRequest
0 голосов
/ 29 мая 2010

Я работаю над тем, чтобы адаптировать шаблон, который мне дали, который в основном представляет собой список продуктов для продажи. Я хочу изменить его из списка сверху вниз в макет таблицы. Я хочу закончить с чем-то следующим:

<div id= 'ladiesproducts'>
<% ladies_products = hosting_products.find_all do
|product|
product.name.match("ladies")
end %>
<table><tbody>
<% [ladies_products].each do | slice | %>
<tr>
<% slice.each do | product | %>
<td>
<h4><%= product.name.html %></h4>
<p><%= product.description %></p>
<% other parts go here %>
</td>
<% end %>
</tr>
<% end %>
</tbody></table>
</div>

Это прекрасно работает для макета, который я пытаюсь достичь. У меня проблема, когда я вставляю обратно часть кода <%, другие части идут сюда>. Я получаю внутреннее сообщение об ошибке на странице. Я совершенно новичок в Ruby, так что я просто проваливаю свой путь через это на самом деле. У меня есть предчувствие, что я пренебрегаю чем-то, что, вероятно, очень просто. Код <% other parts go here %> выглядит следующим образом:

<input type='hidden' name='base_renewal_period-<%= i %>' value="<%= 
product.base_renewal_period %>" />
<input type='hidden' name='quoted_unit_price-<%= i %>' value="<%=         billing.price(product.unit_price) 
%>" />
<p><input type='radio' name='add-product' value='<%= product.specific_type.html %>:<%= i 
%>:base_renewal_period,quoted_unit_price,domain' /><%= billing.currency_symbol.html %><%= 
billing.price(product.unit_price, :use_tax_prefs) %>
<% if product.base_renewal_period != 'never' %>
every <%= product.unit_period.to_s_short.html %>
<% end %>
<% if product.setup_fee != 0 %>
plus a one off fee of <%= billing.currency_symbol.html %><%= sprintf("%.2f", if billing.include_tax? 
then billing.price(product.setup_fee) else product.setup_fee end) %>
<% end %>
<% if product.has_free_products? %>
<br />
includes free domains 
<% product.free_products_list.each do | free_product | %>
<%= free_product["free_name"] %>
<% end %>
<% end %>
*
</p>
<% i = i + 1 %>
<% end %>
<p><input type='submit' value='Add to Basket'/></p>
</form>
<% unless basket.nil? or basket.empty? or no_upsell? %>
<p><a href='basket?add-no-product=package'>No thank you, please continue with my order 
...</a></p>
<% end %>
<% if not billing.tax_applies? %>
<% elsif billing.include_tax? %>
<p>* Includes <%= billing.tax_name %></p>
<% else %>
<p>* Excluding <%= billing.tax_name %></p>
<% end %>

Если кто-то может указать, что я делаю неправильно, что я пропускаю или не могу изменить, я был бы очень признателен! Спасибо заранее. Найджел

1 Ответ

0 голосов
/ 30 мая 2010

Похоже, что у вас есть end в вашей другой части вокруг i = i + 1.

...