小编rub*_*eca的帖子

当控制器被子类化时,为什么Rails before_filter被调用了两次?

我在Rails 2.3.5,我有这个问题:

class BaseController < ApplicationController
  before_filter :foo, :only => [:index]
end

class ChildController < BaseController
  before_filter :foo, :only => [:index, :show, :other, :actions]
end
Run Code Online (Sandbox Code Playgroud)

问题是在ChildController上,过滤器被调用两次之前的foo.

我已经尝试了很多关于这个问题的解决方法.如果我不在:index孩子中包含该动作,则永远不会调用该动作.

我找到的解决方案有效,但我认为它非常难看

skip_before_filter :foo
before_filter :foo, :only => [:index, :show, :other, :actions]
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来解决这个问题?

ruby inheritance ruby-on-rails before-filter actioncontroller

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

表下的Cocoa迷你工具栏(添加,删除)

我正在尝试在NSTableView下实现一个迷你工具栏,就像我在很多OS X应用程序中看到的那样,但是不知道用哪个小部件来获得最终结果.

举个例子,看一下Mail.app的以下截图:

Mail.app http://img338.imageshack.us/img338/4729/picture1l.png

实现这样的按钮的最佳方法是什么?(添加,配置,删除等)

cocoa toolbar

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

iPhone未读表示在tabbar上

哪个是在Cocoa Touch上实现的最佳方式,TabBar上的图标上有未读数?

我想模仿SMS或Mail应用程序行为,向我的应用程序用户显示未读消息计数,并带有一个包含数字的红点.

email iphone sms cocoa-touch tabbar

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

如何在Ruby 1.9 C扩展中将块转换为Proc?

我正在编写Ruby 1.9 C扩展,我想在ruby中执行以下操作:

notifier = Notifier.new
notifier.on 'click' do
  puts "clicked!"
end
Run Code Online (Sandbox Code Playgroud)

现在问题是在C方法上,我只"接收"一个块,据我所知,它甚至不是一个参数:我只能用来调用rb_yield.

所以我的问题是:在Ruby 1.9 C扩展上是否有办法将块转换为proc或者其他东西,所以我可以将它存储在我的模块中,并在我想要/需要它时稍后调用它?就像一个异步回调!

我已经使用Procs/lambdas实现了这个,但是直接使用块语法真是太丑了.

c ruby block ruby-1.9 ruby-c-extension

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

用Ruby解析经度和纬度

我需要在Ruby下解析一些用户提交的包含纬度和经度的字符串.

结果应该是双倍的

例:

08º 04' 49'' 09º 13' 12''
Run Code Online (Sandbox Code Playgroud)

结果:

8.080278 9.22
Run Code Online (Sandbox Code Playgroud)

我已经看过Geokit和GeoRuby,但还没有找到解决方案.任何提示?

ruby geolocation geospatial latitude-longitude

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

在iPhone MPMoviePlayerController上播放字节流

我有一个字节流,表示具有H264视频和AAC音频的电影.我使用RTMP库(rtmp-dump)得到它,数据通过网络传到我的iOS模拟器.

但是我不知道如何向用户显示它.MPMoviePlayerController似乎只接受一个URL.有没有办法通过提供像NSPipe或类似玩家的东西来播放视频?

rtmp mpmovieplayercontroller video-streaming ios

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