我正在阅读优秀的Ruby on Rails教程并遇到以下代码.
if 0
true
else
false
end
Run Code Online (Sandbox Code Playgroud)
上述返回true和示出了如何与许多语言(C是明显的例子),红宝石治疗0如true.我并没有将这种行为视为特殊情绪,而是认为这有很大理由偏离惯例.Python中,例如,治疗0的False,正如人们所期望的.
简而言之,设计红宝石的理由0是true什么?
我是rails的新手,刚刚找到了simple_form gem.我用bootstrap suport安装它,但现在我无法让这个代码按照我想要的方式工作
<%= f.button :submit, "<i class='icon-ok icon-white'></i> Save", class: "btn btn-primary" %>
Run Code Online (Sandbox Code Playgroud)
我只想把图标按钮里面,但我这样做的时候,就说明我的文字"<I类="图标确认图标白"> </ I>保存"按钮
我也试过
<%= f.button :submit, class: "btn btn-primary" do %><i class="icon-ok icon-white"></i> Save<% end %>
Run Code Online (Sandbox Code Playgroud)
但没有成功.如何使用simple_form gem在按钮内添加一些HTML?
使用我的大型应用程序,Rails控制台需要一段时间才能加载.有没有办法更轻松地单个命令?
我也希望能够实现自动化,并且echo "query" | rails console不是一种很好的做事方式.
思考?
编辑:一个长时间运行的进程,我可以在需要时ping查询?
如何在带有json的Ruby中使用标题创建一个Https帖子?
我试过了:
uri = URI.parse("https://...")
https = Net::HTTP.new(uri.host,uri.port)
req = Net::HTTP::Post.new(uri.path)
req['foo'] = bar
res = https.request(req)
puts res.body
Run Code Online (Sandbox Code Playgroud) 刚学习rspec语法,我注意到这段代码有效:
context "given a bad list of players" do
let(:bad_players) { {} }
it "fails to create given a bad player list" do
expect{ Team.new("Random", bad_players) }.to raise_error
end
end
Run Code Online (Sandbox Code Playgroud)
但是这段代码没有:
context "given a bad list of players" do
let(:bad_players) { {} }
it "fails to create given a bad player list" do
expect( Team.new("Random", bad_players) ).to raise_error
end
end
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
Team given a bad list of players fails to create given a bad player list
Failure/Error: expect( Team.new("Random", bad_players) …Run Code Online (Sandbox Code Playgroud) shared_examples和之间的真正区别是shared_context什么?
我的观察:
我可以使用两者测试相同的东西(即带shared_examples或shared_context)
但是如果我以后使用其他测试,我的其他一些测试会失败.
观察#1:
我在https://www.relishapp.com/上比较了每个文档的shared_examples和shared_context
语法上的差异是:
示例:
shared_context "shared stuff", :a => :b do
...
end
Run Code Online (Sandbox Code Playgroud)
shared_examples
include_examples "name" # include the examples in the current context
it_behaves_like "name" # include the examples in a nested context
it_should_behave_like "name" # include the examples in a nested context
Run Code Online (Sandbox Code Playgroud)
shared_context
include_context "shared stuff"
Run Code Online (Sandbox Code Playgroud)
观察#2
我有一个测试用例
shared_context 'limit_articles' do |factory_name|
before do
@account = create(:account)
end
it 'should …Run Code Online (Sandbox Code Playgroud) 我的模型中包含的内容是:
def body_color_enum
[
['Aqua', '#009c9c'],
['Grey', '#6d6e71'],
['Yellow', '#ffe600'],
['White', 'white']
]
end
Run Code Online (Sandbox Code Playgroud)
我希望这些值来自翻译文件'en.yml'
en:
group:
hero:
hex1: '#6d6e71'
name1: 'Dark grey'
hex2: '#ccc'
name2: 'Light grey'
hex3: '#0099ce'
name3: 'Blue'
hex4: '#ffffff'
name4: 'White'
Run Code Online (Sandbox Code Playgroud)
我试过这个:
def body_color_enum
[
[t('group.hero.name1'), '#009c9c'],
['Grey', '#6d6e71'],
['Yellow', '#ffe600'],
['White', 'white']
]
end
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
undefined method `t' for #<Group:0x007fabad847ac8>
Run Code Online (Sandbox Code Playgroud)
所以我问的是如何从模型中访问我的本地文件,以便我可以在body_color_enum方法中设置我的值.
我试图服务于多个请求,同时在轨道4,这是我能够用做得很轻松config.threadsafe!,并Puma在Rails 3中.
说我有这个控制器
class ConcurrentController < ApplicationController
def index
sleep 10000
end
def show
end
end
Run Code Online (Sandbox Code Playgroud)
我以前能够开始使用puma puma -t 2:16 -p 3000(最少2个线程)然后点击index然后show仍然可以show正确渲染.
在Rails 4中,如果我尝试做同样的事情,Puma现在会锁定index请求并且show永远不会被渲染.当我点击Ctrl-C服务器时,Puma给了我这个错误:
Rack app error: #<ThreadError: Attempt to unlock a mutex which is locked by another thread>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么来获得并发使用Rails 4?config.threadsafe!应该是不需要的(即使我尝试也没有区别)
tvdb中的汉尼拔剧集中有奇怪的人物.
例如:
Œuf
Run Code Online (Sandbox Code Playgroud)
所以红宝石吐出来:
./manifesto.rb:19:in `encode': "\xC3" from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)
from ./manifesto.rb:19:in `to_json'
from ./manifesto.rb:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)
第19行是:
puts @tree.to_json
Run Code Online (Sandbox Code Playgroud)
有没有办法处理这些非utf字符?我宁愿不更换它们,而是转换它们?还是忽略它们?我不知道,任何帮助表示赞赏.
奇怪的是,脚本通过cron正常工作.手动运行它会产生错误.
您如何获得在 Apple Silicon 架构上运行的 Ruby、Python 和 Node.js 开发环境。Docker 等虚拟化软件呢?
ruby ×10
concurrency ×1
console ×1
docker ×1
encoding ×1
header ×1
https ×1
localization ×1
node.js ×1
post ×1
puma ×1
python ×1
rails-i18n ×1
rspec ×1
rspec2 ×1
simple-form ×1
tdd ×1
translation ×1
utf-8 ×1