重新启动MacBook Pro后,我无法启动数据库服务器:
could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
我检查了日志,然后一遍又一遍地出现以下行:
FATAL: database files are incompatible with server
DETAIL: The data directory was initialized by PostgreSQL version 9.2, which is not compatible with this version 9.0.4.
Run Code Online (Sandbox Code Playgroud)
9.0.4是预装在mac上的版本,9.2 [.4]是我通过Homebrew安装的版本.如前所述,这曾经在重启之前工作,所以它实际上不是一个编译问题.我也重新运行initdb /usr/local/var/postgres -E utf8,文件仍然存在.
不幸的是,我对Postgres很新,所以任何帮助都会非常感激.
我从远程网站上使用open-uri获取图像,并在Ruby on Rails应用程序中将它们保存在我的本地服务器上.大多数图像显示没有问题,但有些图像没有出现.
一个很长的调试会话后,我终于找到了(感谢我这篇文章),对于这种情况的原因是,class Buffer在开放的URI libary对待与文件大小小于作为IO对象,而不是临时文件10KB.
我设法通过Micah Winkelspecht对这个StackOverflow问题的回答解决了这个问题,我将以下代码放在我的初始化器中的文件中:
require 'open-uri'
# Don't allow downloaded files to be created as StringIO. Force a tempfile to be created.
OpenURI::Buffer.send :remove_const, 'StringMax' if OpenURI::Buffer.const_defined?('StringMax')
OpenURI::Buffer.const_set 'StringMax', 0
Run Code Online (Sandbox Code Playgroud)
到目前为止,这可以按预期工作,但我一直在想,为什么他们首先将这些代码放入库中?有没有人知道一个特定的原因,为什么10kb以下的文件被视为StringIO?
由于上面的代码实际上为我的整个应用程序全局重置了这种行为,我只想确保我没有破坏其他任何东西.
我发现一个标题与此标题非常类似的帖子,但它没有给我我想要的答案.我试图在模型中使用builder.代码看起来像这样:
require 'builder'
class Document < ActiveRecord::Base
...
def create_xml
xml = Builder::XmlMarkup.new( :indent => 2)
...
end
...
end
Run Code Online (Sandbox Code Playgroud)
当我尝试执行此代码时,出现以下错误:
NameError: uninitialized constant ActiveRecord::Associations::Builder::XMLMarkup
Run Code Online (Sandbox Code Playgroud)
但是,当我在rails控制台中尝试相同的操作时,一切正常.
我错过了什么吗?任何帮助将非常感激.
我试图将视图中的值传递给控制器.用户正在提交表单,我想传递一个与表单本身无关的隐藏值.所以我的问题是:如何手动将条目添加到params哈希?
是否可以在QML列表视图中仅显示某些索引或一系列索引?
我有一个listmodel,有一堆我正在重用的信息.是否可以列出一个列表,例如,只显示索引5到8?