createuser
允许在PostgreSQL中创建用户(ROLE).有没有一种简单的方法来检查该用户(名称)是否已经存在?否则createuser返回错误:
createuser: creation of new role failed: ERROR: role "USR_NAME" already exists
Run Code Online (Sandbox Code Playgroud)
更新:解决方案应该可以从shell执行,因此在脚本内部更容易自动化.
在我看到的日志中ROLLBACK
,但没有记录任何异常.有没有办法找出导致ROLLBACK的原因?
这是日志的摘录:
Phone Load (0.4ms) SELECT "phones".* FROM "phones" WHERE "phones"."id" = $1 LIMIT 1 [["id", 980190963]]
(0.2ms) BEGIN
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."phone_id" = 980190963 LIMIT 1
(0.2ms) ROLLBACK
Phone Load (0.4ms) SELECT "phones".* FROM "phones" WHERE "phones"."id" = $1 LIMIT 1 [["id", 980190963]]
User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."phone_id" = 980190963 LIMIT 1
Run Code Online (Sandbox Code Playgroud) 在database.yml中,您可以定义所有设置.如何从ruby访问这些设置?我看了看App::Application::config
,但在那里找不到.另外,我记得有人能够在没有yaml的情况下配置数据库设置,有谁知道怎么做?
我有一个我从源码构建的程序.为此,我正在使用该script
资源.实现安装和更新逻辑的好方法是什么?现在我只使用内置not_if
条件实现安装.
script "install_program" do
not_if {File.exists?('/program')}
interpreter "bash"
user "root"
cwd "/tmp"
code <<-EOH
wget http://www.example.com/program.tar.gz
tar -zxf program.tar.gz
cd tarball
./configure
make
make install
EOH
end
Run Code Online (Sandbox Code Playgroud) ActionMailer提供了一种定义与资源助手一起使用的主机的方法:
config.action_mailer.default_url_options = { :host => "example.com" }
Run Code Online (Sandbox Code Playgroud)
我找不到强行将其转换为https的方法.
当我发送带附件的电子邮件时,数据以十六进制记录并填满我的整个日志.有没有办法禁用附件记录?我知道我可以禁用邮件日志记录config.action_mailer.logger = nil
.
Rails中有一个约定将Sweeper
类放在特定的目录位置吗?
更新:由于观察者被投入app/models
,我认为清扫工具没有什么不同,只要名称总是以"清扫工"结束.
似乎最常见的像keyczar,cryptlib和NaCl不适用于Ruby.什么是一些高级库的ruby库(或绑定),其中已经为您做出了有关加密原语的决策(无需生成IV,CBC与EBC等).我确实找到了ruby-gpgme.还有libmcrypt支持流的对称加密,这是我最感兴趣的.
Mobile Safari是否有办法识别适用于手机的网站并自动放大?这对其他手机和浏览器有何影响?
我想避免查看user_agent并为每个移动浏览器发送不同的页面.
假设我们有两个资源:
template 'template1' do
owner 'root'
group 'root'
end
template 'template2' do
owner 'root'
group 'root'
end
Run Code Online (Sandbox Code Playgroud)
我想在资源中重用代码.但是,如果我在配方定义一个进程,你会得到一个NoMethodError owner
,group
等它为什么会发生?词汇范围没有什么不同,是吗?因此我必须使用self.instance_eval &common_cfg
.
common_cfg = Proc.new {
owner 'root'
group 'root'
}
template 'template1' do
common_cfg.call
end
template 'template2' do
common_cfg.call
end
Run Code Online (Sandbox Code Playgroud) ruby ×4
actionmailer ×2
chef-infra ×2
activerecord ×1
closures ×1
code-reuse ×1
convention ×1
cryptography ×1
deployment ×1
iphone ×1
logging ×1
postgresql ×1
shell ×1
smartphone ×1