我想将新的javascript文件添加到我的spree扩展名中 [英] I would like to add new javascript file to my spree extension

查看:97
本文介绍了我想将新的javascript文件添加到我的spree扩展名中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是新手.我正在尝试构建Spree扩展以使用Braintree的嵌入式UI.我正在尝试将新的braintree.js添加到扩展名中.这些是我到目前为止所做的步骤.

I am new in rails. I'm trying to build Spree extension to use Braintree's drop-in UI. I'm trying to add new braintree.js to my extension. These are the steps I did so far.

  1. braintree.js添加到<my_extension>/app/assets/javascripts/spree/frontend/

已将//= require spree/frontend/braintree添加到app/assets/javascripts/spree/frontend/<my_extension>.js.

<my_extension>/config/initializers/中创建了braintree.rb.该文件的内容:

Created braintree.rb in <my_extension>/config/initializers/. Content of this file:

Braintree::Configuration.environment = :sandbox
Braintree::Configuration.merchant_id = "merchant_id"
Braintree::Configuration.public_key = "public_key"
Braintree::Configuration.private_key = "private_key"

  • 在狂欢商店中,我成功运行了bundle install.

    Ran rails g <my_extension>:install这给了我以下错误:

    Ran rails g <my_extension>:install which gives me the following error:

    append  vendor/assets/javascripts/spree/frontend/all.js
    append  vendor/assets/javascripts/spree/backend/all.js
    insert  vendor/assets/stylesheets/spree/frontend/all.css
    insert  vendor/assets/stylesheets/spree/backend/all.css
    run  bundle exec rake railties:install:migrations FROM=spree_hello_ext 
    
    from "."
    Would you like to run the migrations now? [Y/n] y
    run  bundle exec rake db:migrate from "."
    rake aborted!
    NameError: uninitialized constant Braintree
    /Users/<user>/Sites/spree_hello_ext/config/initializers/braintree.rb:1:in 
       `<top (required)>'
    /Users/<user>/Sites/hellostore/config/environment.rb:5:in `<top (required)>'
    Tasks: TOP => db:migrate => environment
    (See full trace by running task with --trace)
    

  • 推荐答案

    您需要在gemspec中要求braintree gem作为依赖项,然后要求它lib/spree_hello_ext.rb才能对其进行初始化,然后再进行初始化.用它.类似于spree_gateway对spree_core的要求: https://github.com/spree/spree_gateway/blob/master/lib/spree_gateway.rb#L1

    You need to require the braintree gem in your gemspec as a dependency, and then require it lib/spree_hello_ext.rb for it to be initialized before your initializer tries to use it. Similar to how spree_core it required by spree_gateway: https://github.com/spree/spree_gateway/blob/master/lib/spree_gateway.rb#L1

    这篇关于我想将新的javascript文件添加到我的spree扩展名中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆