2013-07-26 63 views
1

我正在使用我的電子商務網站,並選擇了Spree(Ruby on Rails),儘管我已經與PHP和.NET融合。到目前爲止,它一直引人入勝,昨天我有興趣在主頁上添加精選產品。Spree - Deface - 編輯產品 - 給錯誤

狂歡版本:1.3.2

對於我做了一些改動狂歡。它們分別是:

  1. 遷移 - is_featured:boolean字段添加到spree_products表
  2. 束EXEC耙分貝:遷移
  3. 擴展Spree::Product
  4. 使用Deface一個複選框添加到edit視圖。

就我而言,1,2,3我已經通過rails console進行了測試。據我瞭解,當我嘗試添加複選框時,錯誤出現在第4步。

overrides/featured_checkbox_admin_product.rb

Deface::Override.new(
    :virtual_path => "spree/admin/products/_form", 
    :name   => "featured_checkbox_admin_product", 
    :insert_bottom => "[data-hook='admin_product_form_additional_fields']", 
    :text   => " 
    <%= f.field_container :is_featured do %> 
     <%= f.label :is_featured %> 
     <%= f.check_box :is_featured %> 
    <%= end %>" 
) 

我是新來的Rails,我期待中的文檔,而工作。但據我所知代碼是正確的。這是生成的錯誤。

/home/ziyan/.rvm/gems/ruby-2.0.0-p0/gems/spree_core-1.3.2/app/views/spree/admin/products/_form.html.erb:141: syntax error, unexpected keyword_end 
...');@output_buffer.append= (end);@output_buffer.safe_concat... 
...        ^
/home/ziyan/.rvm/gems/ruby-2.0.0-p0/gems/spree_core-1.3.2/app/views/spree/admin/products/_form.html.erb:153: syntax error, unexpected keyword_ensure, expecting ')' 
/home/ziyan/.rvm/gems/ruby-2.0.0-p0/gems/spree_core-1.3.2/app/views/spree/admin/products/_form.html.erb:155: syntax error, unexpected keyword_end, expecting ')' 
Extracted source (around line #141): 

138:  <%= f.field_container :is_featured do %> 
139:  <%= f.label :is_featured %> 
140:  <%= f.check_box :is_featured %> 
141:  <%= end %> 
142: </div> 
143: 
144: <div class="clear"></div> 

我的理解是Deface已經奏效。但是我輸入的代碼是導致問題的代碼。

希望對此有幫助。

在此先感謝。

回答

2

刪除不必要的=從最後一行,離開只是

<% end %> 

,它應該工作。