我正在尝试使用以下方法覆盖base_helper.rb的辅助方法:
module Spree
module BaseHelper.class_eval do
def taxons_tree(root_taxon, current_taxon, max_level = 1)
.....
end
end
end
Run Code Online (Sandbox Code Playgroud)
它不适合我.谁知道我在这里失踪了什么?
谢谢!
固定:
我应该用:
Spree::BaseHelper.module_eval do
def taxons_tree(root_taxon, current_taxon, max_level = 1)
...
end
end
Run Code Online (Sandbox Code Playgroud)
代替.
我刚刚升级到1.0.3,我的config/routes文件夹中的routes.rb文件似乎忽略了我所有的自定义路由.
我的routes.rb
JollyStore::Application.routes.draw do
# Mount Spree's routes
mount Spree::Core::Engine, :at => '/'
root :to => 'pages#index'
namespace :admin do
resources :wysiwygs
end
match 'about_us/', :to => "pages#about_us"
match 'services/', :to => "pages#services"
match 'raw_resources/', :to => "pages#raw_resources"
match 'contact_us/', :to => "pages#contact_us"
match 'privacy_policy/', :to => "pages#privacy_policy"
match 'return_policy/', :to => "pages#return_policy"
match 'refund_policy/', :to => "pages#refund_policy"
match 'cancellation_policy/', :to => "pages#cancellation_policy"
match 'delivery_shipping_policy/', :to => "pages#delivery_shipping_policy"
end
Run Code Online (Sandbox Code Playgroud)
如果我运行bundle exec rake routes,它将返回所有适当的路由.但当我尝试访问该特定页面时,我得到:
undefined local variable …Run Code Online (Sandbox Code Playgroud) 狂欢是否适合多/双语电子商务网站?
默认情况下,它支持国际化(i18n - http://guides.spreecommerce.com/i18n.html).它给人的印象是狂欢是双语友好的,但我错过了一块拼图.产品名称,描述,属性,类别的翻译.
在翻译产品和类别(包括元数据)方面,您的良好做法是什么?
宝石版:Spree 1.1.1
我正在使用spree 1-2-stable,我正在使用spree-paypap-express 1-2-stable分支(尝试使用master但是再次失败).当我尝试签出订单并选择PayPal express作为付款方式时,它失败并显示错误:"网关错误:转换缺失:en.the_totals_of_the_cart_item_amounts_do_not_match_order_amounts".由于某种原因,订单总额与购物车项目金额不匹配.我整个周末都在这上面,但仍然不知道为什么会这样.
只有当我包含价格> 0的运费时才会出现此问题(如果我将运费设置为0,则会有效).一旦我将运费价格更改为> 0或某个%,它就会中断.我尝试了"包含增值税的运费"是真是假 - 同样的事情.
有任何想法吗?这是ppx中的错误还是我错过了什么?
更新:12/12/12
以下是我用来重现问题的价值:我使用增值税(价格中只包含25%),我试图购买的商品的价格是265欧元(当前无关紧要),商品数量为1,运费为15EUR(再次增值税包含在运费中)这是固定订单税.
我收到订单总数与总计项目金额不匹配的错误.经过一些调试后,我发现在发送到PayPal之前确实存在差异.
为什么我的总计算错了?我正在使用1-2稳定的狂欢分支.我的gemfile:
gem 'spree', :git => 'git://github.com/spree/spree.git', :branch => '1-2-stable' #gem 'spree_usa_epay' #gem 'spree_skrill' gem 'spree_auth_devise', :github => 'spree/spree_auth_devise', :branch => '1-2-stable' gem 'spree_paypal_express', :github => 'spree/spree_paypal_express', :branch => '1-2-stable'
我真正的问题是如何在付款步骤之前(交货步骤之后)重新计算运费和税金,以及如何覆盖计算器以便正确计算?
我正在尝试解决我的Rails 4 + Spree应用程序中的问题,并且帖子建议我将我的all.css文件转换为all.scss(sass).
我该如何转换?
*= require spree/frontend
*= require_self
*= require_tree .
Run Code Online (Sandbox Code Playgroud)
到@imports?
我做了
@import "spree/frontend";
Run Code Online (Sandbox Code Playgroud)
这是非常简单的,但现在我的应用程序"没有样式",我很肯定这是因为其他两个指令.
谢谢!
我正在尝试为我的Spree 1.2商店添加一个额外的步骤,这将允许客户创建订阅.我已插入步骤,并呈现正确的视图,但当用户单击"保存并继续"时,将呈现下一步,但实际上并未保存任何内容.
我知道我需要添加一个state_callback,但我不知道如何做到这一点并且Spree文档非常缺乏(大概是因为它很新)
目前我的扩展中有以下内容:
车型/大礼包/ order_decorator.rb
Spree::Order.class_eval do
belongs_to :subscription
accepts_nested_attributes_for :subscription
# This doesn't appear to be called
Spree::Order.state_machine.after_transition :from => :subscription,
:do => :valid_subs?
checkout_flow do
go_to_state :address
go_to_state :subscription
go_to_state :payment, :if => lambda { |order| order.payment_required? }
go_to_state :confirm, :if => lambda { |order| order.confirmation_required? }
go_to_state :complete
remove_transition :from => :delivery, :to => :confirm
end
end
Run Code Online (Sandbox Code Playgroud)
不完全确定accepts_nested_attributes是必要的,但到目前为止我的开发方法一直是试验和错误,所以它最终停留在那里.
在models/subscription.rb中
class Subscription < ActiveRecord::Base
attr_accessible :start_date, :frequency
belongs_to :user
has_many :orders
has_many :products
validates :start_date, :frequency, :presence …Run Code Online (Sandbox Code Playgroud) 如何在轨道上的ruby中修复此错误.
source 'https://rubygems.org'
git_source(:github) do |repo_name|
repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
"https://github.com/#{repo_name}.git"
end
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '~> 5.0.2'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use Puma as the app server
gem 'puma', '~> 3.0'
# Use SCSS for stylesheets
gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .coffee assets and views
gem 'coffee-rails', '~> …Run Code Online (Sandbox Code Playgroud) 我想将spree站点的根路径更改为静态页面.
任何人都可以告诉我如何更改spree默认主页?
我正在使用Spree,Spree有一个叫做Order类似的类:
module Spree
class Order
# class definition.
end
end
Run Code Online (Sandbox Code Playgroud)
在我自己的应用程序中,我一直在自定义Order:
Spree::Order.class_eval do
# customisations
end
Run Code Online (Sandbox Code Playgroud)
我的问题是,我可以简单地这样做:
module Spree
class Order
# My own customisations.
end
end
Run Code Online (Sandbox Code Playgroud)
这有什么缺点吗?基本上,我想避免使用class_eval.
我正在本地开发环境中建立我的第二个"狂欢"商店,使用Spree gem for RubyOnRails处理电子商务项目.
第一个商店工作,但当我关闭store1的"rails服务器"并尝试为store2启动它时,当我去http://localhost:3000我得到这个错误:
Sprockets :: Rails :: Helper :: Spree :: Home #index中的AbsoluteAssetPathError
显示/Users/pivot/.rvm/gems/ruby-2.0.0-p481/gems/spree_frontend-2.3.2/app/views/spree/shared/_head.html.erb第7行引发:
传递给帮助者的资产名称不应包含"/ assets /"前缀.而不是"/assets/favicon.ico",请使用"favicon.ico"
提取的来源(第7行):
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1" name="viewport">
<%== meta_data_tags %>
<%= canonical_tag(current_store.url) %>
<%= favicon_link_tag image_path('favicon.ico') %> #THIS IS THE HIGHLIGHTED LINE
<%= stylesheet_link_tag 'spree/frontend/all', :media => 'screen' %>
<%= csrf_meta_tags %>
<%= javascript_include_tag 'spree/frontend/all' %>
Run Code Online (Sandbox Code Playgroud)
模板包含的跟踪:/Users/pivot/.rvm/gems/ruby-2.0.0-p481/gems/spree_frontend-2.3.2/app/views/spree/layouts/spree_application.html.erb
这个错误来自一个狂欢视图文件,而有问题的行实际上只是传入"favicon.ico"而不是"assets/favicon.ico",所以我不知道发生了什么.