小编Ser*_*sev的帖子

Ruby没有这样的文件加载

我正在尝试使用httparty

require 'httparty'
Run Code Online (Sandbox Code Playgroud)

但我得到了

no such file to load -- httparty (LoadError)
Run Code Online (Sandbox Code Playgroud)

我在OSX上使用Ruby 1.8.7

ruby rubygems httparty

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

Faker gem:如何设置最大值 长度/范围 Company.name/Number.number?

我使用Faker gem来播种某些数据.我怎样才能设置最大值.假Company.name的长度,以及如何设置假数字的范围?

name  = Faker::Company.name
Run Code Online (Sandbox Code Playgroud)

这里我想包括最大长度,因为name有最大的模型限制.40个字符.

code_id = Faker::Number.number
Run Code Online (Sandbox Code Playgroud)

对于code_id,我想要一个从1到50的范围.我试过,code_id = Faker::Number.number(from=1, to=50)但这似乎不正确,因为播种它产生了以下错误:

ArgumentError: wrong number of arguments (2 for 1)
/usr/local/rvm/gems/ruby-2.1.5/gems/faker-1.4.3/lib/faker/number.rb:4:in 'number'
Run Code Online (Sandbox Code Playgroud)

我应该如何调整Faker以满足我的需求?

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

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

亚马逊SNS与ruby,简单的短信息

我正在尝试将一个简单的短信从ruby直接发送到带有SNS服务的电话号码.

require 'aws-sdk'
sns = Aws::SNS::Client.new(region: 'my_region', access_key_id: 'my_id', secret_access_key: 'mykey')
sns.publish({phone_number: 'my_number', message: 'test message'})
Run Code Online (Sandbox Code Playgroud)

但我明白了 ArgumentError: unexpected value at params[:phone_number]

ruby amazon-sns

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

Ruby on Rails-在公共IP上运行Rails服务器

是否可以执行

rails server -b my.public.ip.address -p 8000
Run Code Online (Sandbox Code Playgroud)

运行此代码显然不起作用。所以我想知道是否有办法解决这个问题?

ruby-on-rails webrick

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

将单对Hash拆分为其键和值?

Ruby是否包含一个方法,允许您使用单对Hash(示例:) {:foo => 'bar'}并将键和值分成两个变量?我写了一个小方法来做到这一点,但如果Ruby已经可以做到,我不想多余.下面提供的餐巾纸代码.

def split_hash hash
    key = hash.keys.first
    key, hash[key]
end
Run Code Online (Sandbox Code Playgroud)

用法:

hash = {:foo => 'bar'}
foo, bar = split_hash hash
# Expected: foo = :foo, bar = 'bar'
Run Code Online (Sandbox Code Playgroud)

ruby

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

为什么Rails一直告诉我未经许可的参数,即使我允许它?

我有一个Profile模型,具有以下内容:

  has_many :transcripts, dependent: :destroy
  accepts_nested_attributes_for :transcripts, allow_destroy: true
Run Code Online (Sandbox Code Playgroud)

在我的Transcript模型上,我有以下内容:

include TranscriptUploader[:attachment]
Run Code Online (Sandbox Code Playgroud)

这是一个Shrine Uploader mount.

在我app/views/profile/_form.html.erb,我有以下内容:

    <div id="transcripts" class="text-center">
      <% if @profile.transcripts.any? %>
        <% @profile.transcripts.each do |transcript| %>
          <%= link_to "Click to view Transcript", transcript.url %>
        <% end %>
      <% end %>

      <%= f.simple_fields_for :transcripts do |transcript| %>
        <%= render 'transcript_fields', f: transcript %>
      <% end %>
      <br />
      <div class="links">
        <%= link_to_add_association 'Add Transcript', f, :transcripts, class: "btn btn-success add-transcript-button" %>
      </div>
    </div> …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails strong-parameters ruby-on-rails-5

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

为什么我不能在 rails 控制台中使用复数方法?

我刚刚才知道我不能在 rails 控制台或 IRB 中使用“复数”方法。这有什么我不明白的吗?

2.3.0 :001 > pluralize
NameError: undefined local variable or method `pluralize' for main:Object
Run Code Online (Sandbox Code Playgroud)

当它在 ruby​​ 或视图文件中使用时,它会得到很好的解释。为什么我不能在 rails 控制台中使用它?

ruby ruby-on-rails

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

如何在 Rails 中编写“distinct on” finder 方法?

我将 RoR 5.0.1 与 PostGres 9.5 一起使用。我有以下查询根据日期从特定表(由相应模型表示)中获取不同记录

select distinct on (crypto_currency_id) t.* 
from crypto_prices t 
order by crypto_currency_id, last_updated desc;
Run Code Online (Sandbox Code Playgroud)

我的模型名称是 CryptoPrice,但我不清楚如何将上述转换为 finder 方法。这个

CryptoPrice.distinct.pluck(:crypto_currency_id)
Run Code Online (Sandbox Code Playgroud)

不做同样的事情,正如我发现的那样。

postgresql finder ruby-on-rails distinct ruby-on-rails-5

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

计算特定元素在数组中出现的次数

array = [ 2, 2, 5, 6, 3, 8]
Run Code Online (Sandbox Code Playgroud)

是否有一种方法可以让您计算项目在数组中出现的次数,可能类似于:

array.include?2
Run Code Online (Sandbox Code Playgroud)

我想计算数组2中出现的次数是多少次.

ruby arrays

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

Ruby - 如何向哈希添加条件键?

我有这个方法创建一个哈希:

def build_values(data)
  {
    key1: data.k1,
    key2: data.k2,
    key3: (@var == true ? data.k3 : nil),
    key4: data.k4,
    ...
  }
end
Run Code Online (Sandbox Code Playgroud)

如果的话@var == true,那么就key3有价值data.k2。那挺好的。

如果不是true,则key3没有价值(实际上,它有nil)。key3但理想情况下,我根本不想打印。

我怎么做?像这样的东西是行不通的:

def build_values(data)
  {
    key1: data.k1,
    key2: data.k2,
    if @var == true
      key3: data.k3
    end,
    key4: data.k4,
    ...
  }
end
Run Code Online (Sandbox Code Playgroud)

ruby key-value

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