我正在尝试从 ruby 中的 Clickbank API 中提取活动统计信息。当我运行 Clickbank 提供的示例代码时。我收到以下错误:
未初始化的常量 Net::HTTPS (NameError)。我缺少什么?
示例代码。
require 'net/http'
require 'net/https'
http = Net::HTTPS.new('api.clickbank.com')
http.use_ssl = false
path = '/rest/1.3/orders/list'
headers = {
'Authorization' => '<< DEVKEY >>:<< APIKEY>>',
'Accept' => 'application/json'
}
resp, data = http.get(path, nil, headers)
puts 'Code = ' + resp.code
puts 'Message = ' + resp.message
resp.each {|key, val| puts key + ' = ' + val}
puts data
Run Code Online (Sandbox Code Playgroud)
是的,我将我的 dev 和 api 密钥放入
首先,我正在关注Rails关注的实践(好主意!):https://gist.github.com/1014971
我收到了一个错误:
undefined method `search' for #<Class:0x5c25ea0>
app/controllers/accessories_controller.rb:6:in `index'
Run Code Online (Sandbox Code Playgroud)
我不要有我/应用/型号/关注/目录/config/application.rb加载.所以正在加载"关注"模块.只是想指出这一点.
这是我的代码:
/app/models/concerns/searchable.rb
module Searchable
extend ActiveSupport::Concern
# Add a "search" scope to the models
def self.search (search)
if search
where('name LIKE ?', "%#{search}%")
else
scoped
end
end
end
Run Code Online (Sandbox Code Playgroud)
/app/models/accessory.rb
class Accessory < ActiveRecord::Base
include Searchable
...
end
Run Code Online (Sandbox Code Playgroud)
/app/controllers/accessories_controller.rb
class AccessoriesController < ApplicationController
def index
@accessories = Accessory.search(params[:search])
...
end
end
Run Code Online (Sandbox Code Playgroud) 我有一个页面,您可以在其中创建发票.有一个单独的部分允许您向发票添加付款.我想要做的是添加创建发票时创建付款的功能.
我想将"创建付款"表单VIEW呈现为"创建发票"表格视图.我怎样才能做到这一点?这是一些代码:
发票表单视图(注意渲染调用):
<%= form_for(@contract) do |f| %>
<div class="field">
f.label "Add payment?"
<div id="pay_form">
<%= render 'payments/pay_form' %>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
(_pay_form.html.erb)创建付款表单中的部分内容(请注意我此处不包含form_for标记,因为我不想在上面的"发票"页面上的另一个表单中找到下一个表单):
<div class="field">
<%= f.label 'Amount Paid:' %>
<%= f.text_field :amount %>
</div>
<div class="field">
<%= f.label 'Payment Method' %>
<%= f.select :method, %w(Cash Credit Check) %>
</div>
Run Code Online (Sandbox Code Playgroud)
主要问题是f部分中的变量不存在.即使我给你发票的f,从它的形式变种中,则params的名字是params[:invoice][:amount]不是params[:payment][:amount].看看我在说什么?
这样做的最佳方法是什么?
我通过分割字符串得到一组像下面这样的值
var values = [
"Budget1-green",
"Team1-green",
"Risk1-green",
"Benefit1-green",
"Scope1-green",
"Schedule1-green"
];
Run Code Online (Sandbox Code Playgroud)
我希望能够将值存储在-如下变量之后.有关如何使用javascript或jQuery执行此操作的任何想法?
var Budget1 = 'green';
var Team1 = 'green';
var Risk1 = 'green';
var Benefit1 = 'green';
var Scope1 = 'green';
var Schedule1 = 'green';
Run Code Online (Sandbox Code Playgroud) 我收到这个错误:
UnicodeEncodeError:'ascii'编解码器无法编码位置52-57中的字符:序数不在范围内(128)
导致错误的代码:
f.write(textwrap.dedent(unicode(the_string))
Run Code Online (Sandbox Code Playgroud)
我想写的字符串摘自一个网站,其中包含英语和日语(用于测试)外语单词和名称的音译,例如コンピュータ(konpyūta,"computer")和ロンドン(Rondon,"London").(一些已归化的外国借款可能不会以片假名呈现.)
在Python中处理字符串时使用另一种语言(日语).我如何解析这个以防止错误仍然保留字符串?
我有一个简单的情境设置,以便学习FactoryGirl的测试.一个银行有很多的交易.每次创建交易时,都应从银行总额中减去交易金额.
这是代码:
# Bank.rb - Has many transactions
class Bank < ActiveRecord::Base
has_many :transactions
end
# Transaction.rb - Belongs to a bank and should decrement the bank's total when created.
class Transaction < ActiveRecord::Base
belongs_to :bank
after_create :decrement_bank_amount
def decrement_bank_amount
bank.decrement!(:amount, amount) if bank
end
end
# factories.rb - Create default factories for testing. This is FactoryGirl 4 syntax
FactoryGirl.define do
factory :bank do
sequence(:name) { |n| 'Bank ' + n.to_s }
end
factory :transaction do
sequence(:title) { …Run Code Online (Sandbox Code Playgroud) 假设我有一个代码块从一个文件复制到一个新的空白文件.原始文件中的代码按原样缩进,但是我想在放入新的空白文件时取消缩进代码.但是,我只想取消缩进基本缩进,这意味着我不想删除所有缩进.合理?
例如,将代码块粘贴到新创建的文件中时,它可能如下所示:
<h1>Title</h1>
<div>
<p>This is a nested paragraph</p>
<ul>
<li>Even deeper!</li>
</lu>
</div>
Run Code Online (Sandbox Code Playgroud)
我想创建一个带有正则表达式和/或python的函数,它将获取上面的文本并将其转换为:
<h1>Title</h1>
<div>
<p>This is a nested paragraph</p>
<ul>
<li>Even deeper!</li>
</lu>
</div>
Run Code Online (Sandbox Code Playgroud)
唯一的区别是铅压痕.
任何想法或帮助将不胜感激!
我在网上发现了几个解释Rails应用程序的DIR结构的网站,但我仍然不清楚,主要是:
/vendor
/lib
/public
Run Code Online (Sandbox Code Playgroud)
应该去哪里?我想知道最佳做法.例如,我有jQuery插件,它们应该位于/ vendor中吗?/上市?/ lib目录?我在线阅读了来自不同网站的所有3个.
谢谢
我很难通过这个十六进制RGB验证来通过测试:
validates_format_of :primary_color, with: /#?([A-F0-9]{6}|[A-F0-9]{3})/i
Run Code Online (Sandbox Code Playgroud)
我正在测试以下值:
除"123ADG"外,所有测试均有效.它似乎通过了验证(意味着HEX值无效且应该失败,但它会通过).
我也试过这种正则表达式的变种,但无济于事:
validates_format_of :primary_color, with: /#?([A-F0-9]{3}){1,2}/i
Run Code Online (Sandbox Code Playgroud)
有什么建议?
我们的目标是选择Store哪一个中Coupon使用最多的。
目前,我有这个,它有效(分解以供解释):
# coupon.rb
has_many :redemptions
has_and_belongs_to_many :stores
def most_popular_store
stores.find( # Return a store object
redemptions # Start with all of the coupon's redemptions
.group(:store_id) # Group them by the store_id
.count # Get a hash of { 'store_id' => 'count' } values
.keys # Create an array of keys
.sort # Sort the keys so highest is first
.first # Take the ID of the first key
)
end
###
Run Code Online (Sandbox Code Playgroud)
它是这样使用的:
describe 'most_popular_store' do …Run Code Online (Sandbox Code Playgroud) python ×2
regex ×2
api ×1
factory-bot ×1
http-headers ×1
https ×1
javascript ×1
jquery ×1
rspec ×1
ruby ×1
sublimetext2 ×1
testing ×1
unicode ×1