Rails 4文档中的所有强参数示例都使用
params.require(:person).permit(:name, :age)
Run Code Online (Sandbox Code Playgroud)
可能有人请解构和解释什么是与发生require和permit这里?
我更新了两个图像,现在Heroku正确地服务一个,但另一个仍然是旧图像.部署日志的输出显示两个图像都使用新哈希进行预编译,但用于检索其中一个(从application.css文件中)的哈希仍然是旧哈希,并且它以某种方式抓取旧图像.
我想强制Heroku重新编译每个资产并重新启动服务器(基本上是一个全新的部署).目前,它似乎"智能地"只预编译它认为是新的资产.我尝试过rake assets:clobber,rake assets:precompile但它没有改变任何东西 - 仍然使用旧的哈希来获取旧的图像版本,但成功获得另一个.还有其他选择吗?
如果 NEAR 协议上的 TestNet 账户上的代币用完,可以在哪里增加代币数量?
在Heroku上运行Rails Rake任务的一个已知问题是,由于一次性dynos默认将其输出推送到控制台,因此他们不会将其日志提交给Papertrail.这可以通过使用在"分离"模式下运行你的dyno来解决heroku run:detached rake your:task.不幸的是,Heroku Scheduler似乎会自动正常运行任务而不是分离模式,因此这些日志会丢失.
如何使调度程序以"分离"模式运行任务,以便这些每周/每日/每小时任务按预期获取Papertrail捕获的日志?
在Ruby中,Enumerable模块混合到集合类中,并依赖于提供each方法的类,该方法生成集合中的每个项目.
好的,所以如果我想在我自己的类中使用Enumerable,我将只实现each[1]:
class Colors
include Enumerable
def each
yield "red"
yield "green"
yield "blue"
end
end
> c = Colors.new
> c.map { |i| i.reverse }
#=> ["der", "neerg", "eulb"]
Run Code Online (Sandbox Code Playgroud)
这按预期工作.
但是如果我each用Enumerable 覆盖现有类的方法,它不会破坏像map.为什么不?
class Array
def each
puts "Nothing here"
end
end
> [1,2,3].each {|num| puts num }
#=> "Nothing here"
> [1,2,3].map {|num| num**2 }
#=> [1,4,9]
Run Code Online (Sandbox Code Playgroud)
[1]:来自http://www.sitepoint.com/guide-ruby-collections-iii-enumerable-enumerator/
有没有更好的方法在Rails中以一对多的关系返回孩子们的"兄弟姐妹"?假设已经建立了标准关联.
例如,现在我会做类似的事情:
child.parent.children
或者,要排除当前记录,
child.parent.children - [child]
这感觉有点脏(Demeter违规?)......有更可接受的最佳做法吗?
ERC20 代币标准 ( https://eips.ethereum.org/EIPS/eip-20 ) 定义了可互换代币。NEAR 的版本是什么?