小编Wes*_*ter的帖子

未初始化常量 Net::HTTPS (NameError)

我正在尝试从 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 密钥放入

ruby api https http-headers

7
推荐指数
1
解决办法
2万
查看次数

Rails 3关注型号模块

首先,我正在关注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)

ruby-on-rails ruby-on-rails-3

6
推荐指数
2
解决办法
8951
查看次数

Rails在另一个表单中渲染表单的一部分

我有一个页面,您可以在其中创建发票.有一个单独的部分允许您向发票添加付款.我想要做的是添加创建发票时创建付款的功能.

我想将"创建付款"表单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].看看我在说什么?

这样做的最佳方法是什么?

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

6
推荐指数
1
解决办法
5793
查看次数

拆分一组字符串并存储在动态变量中

我通过分割字符串得到一组像下面这样的值

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)

javascript jquery

6
推荐指数
1
解决办法
1110
查看次数

修复由另一种语言引起的Python Unicode错误

我收到这个错误:

UnicodeEncodeError:'ascii'编解码器无法编码位置52-57中的字符:序数不在范围内(128)

导致错误的代码:

f.write(textwrap.dedent(unicode(the_string))
Run Code Online (Sandbox Code Playgroud)

我想写的字符串摘自一个网站,其中包含英语和日语(用于测试)外语单词和名称的音译,例如コンピュータ(konpyūta,"computer")和ロンドン(Rondon,"London").(一些已归化的外国借款可能不会以片假名呈现.)

在Python中处理字符串时使用另一种语言(日语).我如何解析这个以防止错误仍然保留字符串?

python unicode

5
推荐指数
1
解决办法
2425
查看次数

FactoryGirl after_create方法不保存

我有一个简单的情境设置,以便学习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)

testing rspec ruby-on-rails ruby-on-rails-3 factory-bot

5
推荐指数
1
解决办法
903
查看次数

将缩进代码移到左侧,删除前导标签

假设我有一个代码块从一个文件复制到一个新的空白文件.原始文件中的代码按原样缩进,但是我想在放入新的空白文件时取消缩进代码.但是,我只想取消缩进基本缩进,这意味着我不想删除所有缩进.合理?

例如,将代码块粘贴到新创建的文件中时,它可能如下所示:

        <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)

唯一的区别是铅压痕.

任何想法或帮助将不胜感激!

python regex sublimetext2

3
推荐指数
1
解决办法
2645
查看次数

了解Rails 3目录结构

我在网上发现了几个解释Rails应用程序的DIR结构的网站,但我仍然不清楚,主要是:

/vendor
/lib
/public
Run Code Online (Sandbox Code Playgroud)

应该去哪里?我想知道最佳做法.例如,我有jQuery插件,它们应该位于/ vendor中吗?/上市?/ lib目录?我在线阅读了来自不同网站的所有3个.

谢谢

ruby-on-rails ruby-on-rails-3

3
推荐指数
1
解决办法
2508
查看次数

Rails验证RGB十六进制

我很难通过这个十六进制RGB验证来通过测试:

validates_format_of :primary_color, with: /#?([A-F0-9]{6}|[A-F0-9]{3})/i
Run Code Online (Sandbox Code Playgroud)

我正在测试以下值:

  • sdf(应该失败)
  • 123ADG(应该失败)
  • 336699(应该通过)
  • FFF(应该通过)

除"123ADG"外,所有测试均有效.它似乎通过了验证(意味着HEX值无效且应该失败,但它会通过).

我也试过这种正则表达式的变种,但无济于事:

validates_format_of :primary_color, with: /#?([A-F0-9]{3}){1,2}/i
Run Code Online (Sandbox Code Playgroud)

有什么建议?

regex ruby-on-rails-4

3
推荐指数
2
解决办法
1107
查看次数

Rails 选择 GROUP 中 COUNT 最高的对象

我们的目标是选择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)

ruby-on-rails ruby-on-rails-4

3
推荐指数
1
解决办法
1178
查看次数