狂欢 - 破坏 - 编辑产品 - 给出错误

时间:2013-07-26 16:59:57

标签: ruby-on-rails spree

我正在我的电子商务网站上工作并选择了Spree(Ruby on Rails),尽管我已经与PHP和.NET融合。它已经开箱即用,昨天我有兴趣在主页上添加特色产品。

狂欢版:1.3.2

为此,我对Spree做了一些改动。它们如下:

  1. 迁移 - 将is_featured:boolean字段添加到spree_products表
  2. bundle exec rake db:migrate
  3. 扩展Spree::Product
  4. 使用Defaceedit视图添加复选框。
  5. 据我所知,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已经奏效了。但我输入的代码是导致问题的代码。

    非常感谢您的帮助。

    提前致谢。

1 个答案:

答案 0 :(得分:2)

从最后一行删除不必要的=,只留下

<% end %>

它应该有用。