我可以用:
File.open('/dev/null', 'w')
Run Code Online (Sandbox Code Playgroud)
在Unix系统上,但如果有一种Ruby方法来实现这一点,我想使用它.只是寻找一个IO流,立即"破坏"所有写入,有点像一个空对象.
首先,我知道怎么extend和include他们的工作,什么通常用于等等.无论是一个好主意与否是不是我的问题的一部分.
我的问题是:有多贵extend?这是扩展实例和单例对象的常用Javascript技术.人们可以在Ruby中做类似的事情,但是如果在很多对象上使用它会很慢吗?
有一种优雅的方式来做到这一点?目前我只是使用自定义步骤"等待10秒"来绝对确定,有足够的时间让iframe准备好.我不希望这个功能在我的功能不足的CI VM上失败,因为网络问题很小或CPU峰值.但这意味着功能套件浪费了大量时间,而且如您所知,如果测试套件需要很长时间,那么通常不会在CI服务器之外运行它.
我知道我无法访问iframe中的数据,该iframe显示来自其他域的页面.这非常好,但我想检测一下,iframe当前是显示来自我的域的页面还是外部的.
我的第一次尝试是尝试访问
$('iframe')[0].contentWindow.document
Run Code Online (Sandbox Code Playgroud)
包装try {} catch {},并且如果抛出错误,则意味着我无法访问它,因此iframe页面必须是外部的.这听起来像一个完美的解决方案,但事情是safari发布了一个"不安全的JavaScript尝试访问带URL的帧"消息到javascript控制台.这不仅是丑陋的,还可能导致其他或未来的浏览器向用户显示明确的安全警告?
我不太确定实际的行为是什么,所以我的第一个问题是:
来自gem(在我的Spree中)的资产(例如javascripts)是否总是被编译?我不使用Spree的javascripts,因此不希望它们被编译.我不需要在我application.js或任何其他javascript文件中,但是
rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
虽然编译它们.我只是不希望他们躺在我的public/assets文件夹中.
所以我想我的问题是,有没有办法禁止从gem编译javascripts?
我正在使用YARD来记录我的项目.YARD文档创建的属性
attr_accessor :some_attribute
Run Code Online (Sandbox Code Playgroud)
在单独的"实例属性摘要"部分中.现在我有另一个属性,但使用自定义setter和getter
def some_other_attribute
...
end
def some_other_attribute= value
...
end
Run Code Online (Sandbox Code Playgroud)
基本上我的问题是,如何让YARD像attr_accessor前一种情况一样记录这对setter/getter ,并some_other_attribute在"Instance Attribute Summary"中列出?
我正在重做迄今为止我在Ruby中完成的18个欧拉挑战,我喜欢它.不幸的是,我犯了一些初学者的错误,无法弄清楚我做错了什么.具体来说,下面的代码有什么问题?我尝试将所有斐波那契数字添加到400万以下.
start = Time.now
def sum_fibonacci_till_4_million
previous_previous_value = 1
previous_value = 2
i = 2
fibo = Array.new
while previous_value < 4000000 do
fibo.push(previous_previous_value)
fibo.push(previous_value)
temp = previous_value
previous_value = previous_value + previous_previous_value
previous_previous_value = temp
i++
end
return fibo.inject(:+)
end
puts "The answer is #{sum_fibonacci_till_4_million()} and it took #{(start - Time.now)
* 1000} milliseconds."
Run Code Online (Sandbox Code Playgroud)
我得到的输出是
2.rb:22: syntax error, unexpected keyword_end
2.rb:27: syntax error, unexpected $end, expecting keyword_end
...ime.now) * 1000} milliseconds."
...
Run Code Online (Sandbox Code Playgroud)
我以前遇到过这个错误,我设法用for循环修复它.但显然我的最终陈述有问题.我不知道.
有人可以帮帮我吗?
试图在我的博客文章中添加验证,所以当你尝试添加少于5个字符的标题时,你会收到一条错误消息,但此刻我收到此错误消息 -
NameError in Posts#create
& undefined local variable or method `msg' for #<#<Class:0x007fce95ca04c0>:0x007fce95b4a300>
Run Code Online (Sandbox Code Playgroud)
new.html.erb
<div class = "container">
<h1> New Post </h1>
<%= form_for :post, url: posts_path do |f| %>
<% if @post.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@post.errors.count, "error") %> prohibited this post from being saved:</h2>
<ul>
<% @post.errors.full_messages.each do [msg] %>
<li><%= msg %></li> <error
<% end %>
</ul>
</div>
<% end %>
<p>
<%= f.label :title %><br>
<%= f.text_field :title %>
</p>
<%= f.label :text %><br>
<%= …Run Code Online (Sandbox Code Playgroud)