小编Dav*_*ers的帖子

如何临时禁用Rack-Mini-Profiler?

我在rails中使用机架迷你探测器就好了,但在某些编码会话期间,特别是在我正在处理许多不同的客户端代码时,它会妨碍我.(主要在我的客户端调试工具网络图等)

我试图用一个前置过滤器将其关闭,这也可以用来查看用户是否有权查看该配置文件,但"取消授权"似乎对我没有任何作用.这是我的代码称为前置过滤器:

def miniprofiler  
 off = true
 if off || !current_user
  Rack::MiniProfiler.deauthorize_request
  return
 elsif current_user.role_symbols.include?(:view_page_profiles)    
  Rack::MiniProfiler.authorize_request
  return
 end
 Rack::MiniProfiler.deauthorize_request
end
Run Code Online (Sandbox Code Playgroud)

我也知道有一个设置"Rack :: MiniProfiler.config.authorization_mode",但我找不到可能的设置是什么的文档,而不是在代码中看到它?现在它告诉我:allow_all,但是:allow_none也没有做任何事情.

即使我可以在开发环境文件中临时设置一个值并重新启动服务器,这也符合我的目的.

ruby-on-rails ruby-on-rails-3 rack-mini-profiler

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

从哪里开始iOS音频合成器?

我知道这是一个非常广泛的主题,但我一直在用演示和我自己的测试来挣扎,我不确定我是否正确地攻击了这个问题.所以,我应该开始的任何线索将不胜感激.

目标是让应用程序根据用户的设置生成一些合成声音.(这不是唯一的应用程序功能,我不是在这里重新创建Korg,但是synth是其中的一部分.)用户可以设置典型的合成器设置,如波形,混响等,然后在音符播放时选择,可能使用俯仰和速度修正器.

我用音频单元和RemoteIO玩了一下,但只是勉强理解我在做什么.在我走到那个兔子洞之前,我想知道我是否在正确的球场.我知道音频合成器将是低级别的,但我希望可能有一些我可以使用的更高级别的库.

如果您有任何关于从哪里开始的指示,以及我应该阅读的iOS技术,请告诉我.

谢谢!

编辑:让我更好地总结一下问题.

是否已经为iOS构建了任何合成库?(商业或开源 - 我没有找到任何搜索,但也许我错过了.)

是否有更高级别的API可以帮助生成缓冲区更容易?

假设我已经可以生成缓冲区了,是否有更好/更简单的方法将这些缓冲区提交到iOS音频设备而不是RemoteIO Audio Unit?

audio synthesizer sound-synthesis ios

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

不要在rails生成控制器上创建视图文件夹

这是一个微不足道的问题,但我很好奇:

通常的生成器配置是否有办法在运行时关闭视图文件夹和操作模板的创建rails generate controller

我无法在任何地方找到一个选项,这里的代码没有向我显示任何指针.

无论如何,对于我们的API,我们可能会在某些时候构建我们​​自己的控制器/资源生成器,但我很好奇是否有办法在此期间关闭这种烦恼.

ruby ruby-on-rails

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

如何在ruby中进行attr_accessor_with_default?

attr_accessor_with_default在rails模型中使用的一些代码现在给我一个弃用警告,告诉我"使用Ruby代替!"

所以,想到可能有一个新的位ruby 1.9.2使得attr_accessor句柄默认,我用Google搜索,但我没有看到.我确实看到了一堆覆盖attr_accessor来处理默认值的方法.

当他们告诉我"使用Ruby?"时,这是什么意思?或者我现在应该写完整的getter/setter?还是有一些我找不到的新方法?

ruby ruby-on-rails-3

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

如何让Ack忽略jQuery文件?

我正在使用Vim + Ack.Vim,并且对如何忽略Jquery文件中的命中率感到不安.我已经定义了一个.ackrc文件(见下文),但是我在黑暗中刺伤了.

--type-add=ruby=.haml,.rake,.rsel,.builder
--type-add=html=.html.erb,.html.haml
--type-add=js=.js.erb
--type-add=css=.sass
--type-set=cucumber=.feature
--type-add=jquery=jquery*.js
--ignore-dir=vendor
--ignore-dir=log
--ignore-dir=tmp
--ignore-dir=doc
--ignore-dir=coverage
--sort-files
--color
--follow
--group
--nojquery
Run Code Online (Sandbox Code Playgroud)

经验丰富的ack + ack.vim用户如何解决这个问题?

vim jquery ack

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

如何将capybara输出html放到特定的文件夹?

当我使用"显示页面"步骤时,使用Capybara/Cucumber,我可以控制文件输出的位置吗?我似乎无法找到这个配置,我的谷歌fu失败了我.

现在看来,默认情况下,它们会转到我的rails文件夹的根目录,并在那里混乱.

ruby-on-rails cucumber capybara

9
推荐指数
2
解决办法
2493
查看次数

在VIM/MacVim/GVIM中创建"项目"

我是一个VIM菜鸟,并且一次又一次地重温它,我希望这次能坚持下去.主要是我使用Ruby on Rails在TextMate中编程.根据某人的建议,我已经安装了Janus(https://github.com/carlhuda/janus)并且它有很多帮助.但有一件事我想念的是有一个"项目",这样我就可以很容易地快速回到项目中.

我希望能够启动macvim的副本,将其指向一个文件,或者给它一个命令,将项目加载回我最后离开的位置.这意味着:

  1. CD到项目的根目录
  2. 在同一位置备份我设置的任何标签/拆分
  3. 重新打开我上次工作的文件.
  4. 我今天要去探索Conque Shell(http://code.google.com/p/conque/),如果可行,我希望这些shell也可以重新加载并启动它们的启动命令.(CD到项目根目录,启动rails服务器,尾部日志等)

建议?我正在寻求简化我的流程,以便我只需单击一个快捷方式或运行一个命令,几秒钟之后就会盯着我的开发环境,就在我最后离开它的地方.

额外奖励:我也经常使用Windows,因此能够在GVim中做同样的事情也会很棒.

谢谢你的帮助

vim projects macvim

8
推荐指数
2
解决办法
3445
查看次数

处理nil对象和属性的最佳实践是什么?

假设我有一个User具有email属性的对象,我需要他们的上一个字母email:

u = User.find(1)    
letter = u.email.upcase.last
Run Code Online (Sandbox Code Playgroud)

如果u或者emailnil在这条产业链,然后我得到一个NoMethodError: undefined method 'blah' for nil:Nilclass.在大多数情况下,我应该能够解决这个问题,但有时候,nil它应该得到它不应该或者很难包含的地方.一种方法是冗长的:

u = User.find(1)
letter = nil
if u && u.email
 letter = u.email.upcase.last
end
Run Code Online (Sandbox Code Playgroud)

但是这在某种观点或长链中会变得烦人和危险a.bunch.of.properties.down.a.hierarchy.我try在Rails中阅读了有关方法的内容:

u = User.find(1)
letter = u.try(:email).try(:upcase).try(:last)
Run Code Online (Sandbox Code Playgroud)

这不那么冗长,但我觉得写这些尝试都很蠢.一旦我放入try链条,我就必须一直使用它们.有没有更好的办法?

ruby ruby-on-rails

6
推荐指数
1
解决办法
2644
查看次数

Rack-Cors并发送500或403错误的标头

我开始使用rack-cors进行必要的跨站点javascript/api实现.当它正常工作时,一切正常,但如果前端的某些内容在后端触发500错误,则客户端永远不会收到正确的标头.您只是在客户端开发工具上看到这个:

 No 'Access-Control-Allow-Origin' header is present on the requested resource.
Run Code Online (Sandbox Code Playgroud)

这是CORS的工作原理吗?或者,在发送此标题时,我是否对机架进行了一些不正确的设置?我试图在未处理的错误情况下手动发送标题,但没有任何运气 - 所以我假设这只是它的工作原理,我的客户端需要能够实现和处理.

javascript rack ruby-on-rails cors

5
推荐指数
1
解决办法
170
查看次数

Ruby,RSVG和PNG流

我正在尝试在从SVG到PNG的rails应用程序中进行图像转换.由于Heroku此时无法/想要升级IM,因此ImageMagick无法解决这个问题.我正在测试一些在开发中使用RSVG2/Cairo但遇到障碍的想法.

我可以轻松地将SVG转换并保存为PNG,如下所示:

#svg_test.rb
require 'debugger'
require 'rubygems'
require 'rsvg2'

SRC = 'test.svg'
DST = 'test.png'

svg = RSVG::Handle.new_from_file(SRC)
surface = Cairo::ImageSurface.new(Cairo::FORMAT_ARGB32, 800, 800)
context = Cairo::Context.new(surface)
context.render_rsvg_handle(svg)
surface.write_to_png(DST)
Run Code Online (Sandbox Code Playgroud)

但这只能让我写出PNG文件.在应用程序中,我需要能够动态生成这些,然后将它们作为数据发送到客户端浏览器.我无法弄清楚如何做到这一点,或者即使它受到支持.我知道我至少可以调用surface.data来获取原始数据,但我对图像格式知之甚少,不知道如何将其作为PNG.

谢谢

png ruby-on-rails rsvg

4
推荐指数
1
解决办法
2380
查看次数

无法获得基本的Selenium + Capybara + Cucumber来处理Rails 3

好的,我一直在使用seleniumrails 2项目,我已经工作了一段时间.决定重构AS我移动应用程序Rails 3,我一直在尝试Rails 3用黄瓜和水豚建立一个非常基本的项目,然后用硒进行测试.(我正在使用硒,因为我知道我的一些功能测试要求我使用selenium来获得正确的javascript交互.)

我设置了简单的jane,安装了所有的宝石,cucumber installer用 - capybara- 整个九码.然而,当我@selenium参加测试时,我得到:

When I go to the home page     # features/step_definitions/web_steps.rb:23
  Selenium is not a module (TypeError)
  ./features/step_definitions/web_steps.rb:24:in `/^(?:|I )go to (.+)$/'
  features/access.feature:10:in `When I go to the home page'
Run Code Online (Sandbox Code Playgroud)

为什么我得到这个Selenium不是模块错误?我知道这意味着它没有加载,但我已经三次回到我的步骤,无法弄清楚为什么会出现这种情况.任何人都有我应该检查的线索?

再次,这是rails 3.我在这个项目上使用ruby 1.9.2.

谢谢

bdd selenium cucumber ruby-on-rails-3

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

有什么办法不打破Visual Studio 2010中的某些错误?

我正在开发一个VS2010项目,我在我的对象上使用DataAnnotations来处理验证.但是,在尝试进行交互式调试时,这有点痛苦,因为它一直在停止验证错误VS.Net.

显然,我想打破一些错误,但不是这些特定的类型.我运气不好,我只需要打开和关闭我的Break on All Errors设置?或者有没有办法让VS在发生时忽略这些?(这些是通过Validator.ValidateProperty调用生成的错误.)

谢谢

debugging break visual-studio-2010

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

Vim:将Cmd-Alt-j映射到tabprevious?

我对此很开心.我已经开始在MacVim中使用更多标签了,我正在尝试制作Cmd + Alt + j和Cmd + Alt + k的映射以在标签之间来回移动.类似于在Textmate中使用Cmd + Alt + Left或Right,但不必离开主行.

当我尝试以下操作时,它只是不起作用:

nnoremap <D-M-j> :tabprevious<CR>
nnoremap <D-M-k> :tabnext<CR>
Run Code Online (Sandbox Code Playgroud)

此外,如果我尝试在我的gvimrc中键入实际的击键,我会改为a <D-M-(delta symbol)>或者<D-M-(degree symbol)>替代.

有什么秘密我错过了,或者我正在做些什么蠢事?

vim keyboard-shortcuts macvim

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