几周来我一直在努力解决这个问题,而我无法弄明白.
我正在管理一个发布到Facebook的Ruby On Rails应用程序.开发环境位于Cloud9 IDE中,实时站点位于Heroku上.该应用程序在Developers.Facebook.com上有一个相应的帐户,其中包含完整的应用程序和与之关联的测试应用程序.
我的Heroku设置与完整的Facebook应用程序完美配合.
问题始于Facebook Test App中的Cloud9设置.每当我尝试通过API连接时,都会收到以下错误:
紧接着是这个错误:
我尝试使用以下选项为我的URL,但似乎没有任何工作:
https://{workspace}-{username}.c9.io/
https://{workspace}-{username}.c9.io:80/
https://{workspace}-{username}.c9.io:8080/
https://{workspace}-{username}.c9users.io/
https://{workspace}-{username}.c9users.io:80/
https://{workspace}-{username}.c9users.io:8080/
Run Code Online (Sandbox Code Playgroud)
这是我的FacebookAccount模型.
class FacebookAccount < ActiveRecord::Base
belongs_to :user
has_many :facebook_pages
if Rails.env.production?
FACEBOOK_APP_ID = ENV["FACEBOOK_APP_ID"]
FACEBOOK_SECRET = ENV["FACEBOOK_SECRET"]
else
FACEBOOK_APP_ID = "XXXXXXXXXXXXXXX"
FACEBOOK_SECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
end
def self.from_omniauth(auth)
oauth = Koala::Facebook::OAuth.new(FACEBOOK_APP_ID, FACEBOOK_SECRET)
new_access_info = oauth.exchange_access_token_info auth.credentials.token
new_access_token = new_access_info["access_token"]
new_access_expires_at = DateTime.now + new_access_info["expires"].to_i.seconds
where(provider: auth.provider, uid: auth.uid).first_or_initialize.tap do |facebook_account|
facebook_account.provider = auth.provider
facebook_account.uid = auth.uid
facebook_account.name = auth.info.name
facebook_account.image = auth.info.image
facebook_account.email = …Run Code Online (Sandbox Code Playgroud) 我有一个客户端有以下问题:
我需要能够将他们的WooCommerce WordPress网站分为两类.如果用户以a身份登录"Wholeseller",则只会从数据库中提取该"Wholesale"类别中的产品.
但是,如果用户未登录或已登录但未登录"Wholeseller",则只会从数据库中删除没有该"Wholesale"类别的产品.
我想我会在主题functions.php文件中添加这样的东西:
add_filter("some_woocommerce_hook", "wholeseller_filter");
function wholeseller_filter() {
if (current_user->role == "Wholeseller"){
//omit products without "wholesale" category while browsing whole site
} else {
//omit products with "wholesale" in the category while browsing whole site.
}
}
Run Code Online (Sandbox Code Playgroud)
我浏览了StackOverflow,但是我还没找到我正在寻找的内容,或者非常清楚我应该使用哪些关键字进行搜索.
你能为我指出正确的方向吗?
因此,我正在尝试Rails 5,并且几乎没有区别,例如可以rails代替和rake等命令使用test,db:*但是,我遇到了一个奇怪的问题:
如果我运行:$ rails test我收到以下错误:
Running via Spring preloader in process 30936
/usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require': cannot load such file -- minitest/reporters (LoadError)
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/ubuntu/workspace/stitched_up_site/test/test_helper.rb:4:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
from /home/ubuntu/workspace/stitched_up_site/test/controllers/static_pages_controller_test.rb:1:in `<top (required)>'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
from /usr/local/rvm/gems/ruby-2.3.0/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
from /usr/local/rvm/gems/ruby-2.3.0/gems/railties-5.0.0.1/lib/rails/test_unit/test_requirer.rb:11:in …Run Code Online (Sandbox Code Playgroud) 所以我一直在试图寻找解决方案.
我需要一个方法来获取我需要收集产品的任意数量的数组.
1个数组:
return [A, B, C] # => [A, B, C]
Run Code Online (Sandbox Code Playgroud)
2个阵列:
return [A, B, C].product([1, 2, 3]) # => [[A, 1], [A, 2], [A, 3], [B, 1] ... [C, 3]]
Run Code Online (Sandbox Code Playgroud)
3个阵列:
return [A, B, C].product([1, 2, 3,],[x, y, z]) # => [[A, 1, x], [A, 1, y], ... [C, 3, z]]
Run Code Online (Sandbox Code Playgroud)
所以我目前的解决方案是这个案例开关,它功能齐全但不方便.
case options.count
when 1
options[0].values
when 2
options[0].values.product(options[1].values)
when 3
options[0].values.product(options[1].values,
options[2].values)
when 4
options[0].values.product(options[1].values,
options[2].values,
options[3].values)
end
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是一种程序或递归返回未知数量的数组的产品的方法.输出需要像上面的数组一样.
我试过了:
array = options[0].values
options.each_with_index …Run Code Online (Sandbox Code Playgroud) ruby ×2
arrays ×1
categories ×1
cloud9-ide ×1
facebook ×1
heroku ×1
php ×1
user-roles ×1
woocommerce ×1
wordpress ×1