小编fl0*_*00r的帖子

Ruby:获取本地IP(nix)

我需要获取我的IP(即DHCP).我用我的environment.rb:

LOCAL_IP = `ifconfig wlan0`.match(/inet addr:(\d*\.\d*\.\d*\.\d*)/)[1] || "localhost"
Run Code Online (Sandbox Code Playgroud)

但有没有rubyway或更清洁的解决方案?

ruby unix ip

14
推荐指数
3
解决办法
1万
查看次数

无法打开rails服务器

我不知道我做了什么.我想我更新了我的Ruby on Rails.更新后,我总是在运行$ rails服务器时出错.

输出是

ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
Run Code Online (Sandbox Code Playgroud)

我会重新启动控制台并运行rails服务器,它会工作几分钟,但然后它会停止响应,如果我重新启动rails服务器,它会再次给我错误.我尝试在不同的端口(rails s -p 9191)上运行,它给了我同样的问题.

任何想法我做错了什么?Thnx家伙

ruby ruby-on-rails webrick

14
推荐指数
2
解决办法
2万
查看次数

render_to_string找不到partials(PDFKit控制器响应)

Ruby 1.8.7,Rails 3.0.4,PDFKit 0.5.0

我正在尝试使用PDFKit创建PDF而不使用中间件,因此我可以禁用javascript(那里有一个手风琴动作,隐藏了大量应该在PDF上的信息).但是,每当我尝试时,它都会失败,因为它表示我的视图(show.html.erb)中的部分缺失:

使用{:locale => [:en,:en],:formats => [:pdf],:handlers => [:erb,:rjs,:builder,:rhtml,:rxml]}缺少部分程序/详细信息

如果我删除对partials的引用,它工作正常.我也尝试将部分与show.html.erb放在同一目录中无济于事.这是我的控制器的show动作中的代码:

respond_to do |format| 
  format.html # show.html.erb 
  format.pdf {
    html = render_to_string(:template => "show.html.erb")
    kit = PDFKit.new(html, :disable_javascript => true )
    send_data(kit.to_pdf, :filename => "test_pdf", :type => "application/pdf", :disposition => 'attachment')
  }
end
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点,并保持部分?

编辑:现在我已经这样做了:

# config/initializers/pdfkit.rb
PDFKit.configure do |config|
  config.default_options = {
    :page_size => 'Legal',
    :print_media_type => true,
    :disable_javascript => true
  }
end
Run Code Online (Sandbox Code Playgroud)

这样做的缺点是为我生成的每个PDF都关闭了javascript,但它现在就可以了.关于使部分工作仍然使用render_to_string的原始问题的任何答案仍然受到赞赏.

ruby-on-rails pdfkit render-to-string

12
推荐指数
1
解决办法
9129
查看次数

在所有文件中添加"#coding:utf-8"

我可以以某种方式配置Rails以避免添加# coding: utf-8到所有文件?或者我必须手动将其添加到每个文件?

UPD

为了改善我的生活,我发现了这个宝石:

magic_encoding

它不会解决问题,但会为每个文件添加magick线.相关主题:为什么升级到Rails 3后所有字符串都是ASCII-8BIT?

ruby encoding ruby-on-rails utf-8

12
推荐指数
1
解决办法
3586
查看次数

MongoDB和Mongoid正在制作中

我正在部署我的第一个小应用程序MongoDBMongoid作为驱动程序.

在生产中使用MongoDB的正确安全方法是什么?

我的意思是在我刚开始的开发mongod中就是这样 - 不需要用户名或密码,看起来不安全.

Mongoid也设置默认配置

production:
  host: <%= ENV['MONGOID_HOST'] %>
  port: <%= ENV['MONGOID_PORT'] %>
  username: <%= ENV['MONGOID_USERNAME'] %>
  password: <%= ENV['MONGOID_PASSWORD'] %>
  database: <%= ENV['MONGOID_DATABASE'] %>
Run Code Online (Sandbox Code Playgroud)

我应该如何在生产服务器上配置此选项和整个MongoDB?

ruby ruby-on-rails mongodb mongoid

12
推荐指数
2
解决办法
7068
查看次数

Regexp:除序列外的任何字符

[^ abc]除了:a,b或c之外的任何单个字符

但是如何为除序列之外的任何字符制作正则表达式 abc

那样的话

"Hello abc awesome world".scan /[^(abc)]+/
Run Code Online (Sandbox Code Playgroud)

将返回"你好"和"令人敬畏的世界".

PS:而不是分裂字符串

ruby regex

12
推荐指数
1
解决办法
6903
查看次数

回形针仅处理图像

我想为多种格式使用单个文件字段.据我所知,Paperclip非常聪明,只能缩放图像并保留其他格式,但这似乎不适用于flv(返回imagemagick/identify-errors).有没有办法帮助Paperclip并明确设置特定格式进行扩展?

更新: 显然,这些错误可以通过以下方式防止:whiny => false(感谢fl00r),适用于常规上传.但是,我在这里要做的是通过FTP上传文件,然后通过附件 - 参数中的File.new([:path])的代码创建新记录.这就像是图像的魅力,但是:whiny => false-trick将不再这样做了.有人对此有任何提示吗?

ruby ruby-on-rails image-processing paperclip

11
推荐指数
1
解决办法
2391
查看次数

Lua:打印整数作为二进制

如何将整数表示为二进制?

所以我可以打印7111

binary lua

11
推荐指数
2
解决办法
2万
查看次数

在Sublime Text 2中突出显示Github README.md格式

我有README文件,我希望Sublime只突出显示某些"tag"所代表的代码片段,例如:

Here is an example of usage

# This should be highlighted
```ruby
  superhero = Superhero.new
  superhero.make_world_better
```
Run Code Online (Sandbox Code Playgroud)

或与[code lang=ruby]或等等

codehighlighter sublimetext sublimetext2

11
推荐指数
1
解决办法
5205
查看次数

i18n:特定型号的错误消息本地化

我可以为每个验证本地化错误消息,但是如何为特定模型创建错误.

普通的语言环境如下所示:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
Run Code Online (Sandbox Code Playgroud)

但我想改变user模型的消息:

en:
  mongoid:
    errors:
      messages:
        taken: "It is already taken"
        user:
          taken: "It is already taken. %{link_to 'Remember password', reset_password_path'}"
Run Code Online (Sandbox Code Playgroud)

ruby localization ruby-on-rails internationalization

10
推荐指数
1
解决办法
7370
查看次数