我正在尝试使用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
我使用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直接发送到带有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]
是否可以执行
rails server -b my.public.ip.address -p 8000
Run Code Online (Sandbox Code Playgroud)
运行此代码显然不起作用。所以我想知道是否有办法解决这个问题?
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) 我有一个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) 我刚刚才知道我不能在 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 控制台中使用它?
我将 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)
不做同样的事情,正如我发现的那样。
array = [ 2, 2, 5, 6, 3, 8]
Run Code Online (Sandbox Code Playgroud)
是否有一种方法可以让您计算项目在数组中出现的次数,可能类似于:
array.include?2
Run Code Online (Sandbox Code Playgroud)
我想计算数组2中出现的次数是多少次.
我有这个方法创建一个哈希:
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)