与Faye和Rails的私人消息

我正在使用在railscast中播放的faye gem ,允许应用程序推送消息。 问题是它将消息推送到所有打开的聊天客户端。 我需要他们是私人的。 可以通过faye获取私人消息,但它是基于url的。 例如,所有消息都将发送到site.com/foo 。 但是,在我的模型中,聊天没有特定的url。 因为聊天只是该用户发送给您的邮件集合。 因此,如果您以adam site.com/messages/eve身份登录,那么您可以与前夕交谈,但前夕则相反。 site.com/messages/adam 。 因此,特定于URL的私人聊天似乎是不可能的。 有什么指针吗? messages_controller.rb (触发ajax) def create @message = Message.new(message_params) @message.save end create.js.erb (调用广播方法) $(“.text-wrap”).append(” “); 广播方法 (发布到王菲服务器) def broadcast(user, &block) channel = “/messages/#{user}” message = {:channel => channel, :data => capture(&block)} uri = URI.parse(“http://localhost:9292/faye”) Net::HTTP.post_form(uri, :message => message.to_json) end application.js (faye服务器订阅/ […]

Rails 3 – yield return或callback不会在视图中调用

我正在将一个网站从Rails 2(最新)迁移到Rails 3(beta2)。 使用Ruby 1.9.1p378和Ruby 1.9.2dev进行测试(2010-04-05 trunk 27225) 陷入困境,我不知道哪一部分会运作良好。 怀疑yield是问题,但不确切知道。 在我的布局文件中,我经常使用以下技术: app/views/layouts/application.html.erb : 例如,局部看起来像: app/views/shared/_sidebar.html.erb : Default sidebar Content. Bla Bla 现在是关键部分的时候了! 在任何视图中,我想创建一个content_for块(可选)。 这可能包含一些HTML等示例。 如果设置了此块,则应在application.html.erb呈现内部的pice HTML。 如果没有,Rails应该在右侧的shared/_sidebar.html.erb上呈现Partial。 app/views/books/index.html.erb : You have to read REWORK, a book from 37signals! 所以你有了主意。 希望。 这种技术在任何Rails 2.x应用程序中都运行良好。 现在,在Rails 3 (beta2)中,只有yield部分正在工作。 || render(‘shared/sidebar’) or侧面不会通过铁轨或ruby处理。 感谢您的投入和时间!

将STDOUT输出到文件并再次返回

我使用此代码将STDOUT路由到文件: STDOUT.reopen(File.open(“./OUTPUT”,’w+’)) 现在我需要再次将STDOUT路由到终端。 我该怎么办?

如何向Nokogiri节点添加属性?

我正在尝试向现有的Nokogiri节点添加属性。 我做的是这样的: node.attributes[‘foobar’] = Nokogiri::XML::Attr.new(‘foo’, ‘bar’) 但我得到错误: TypeError Exception: wrong argument type String (expected Data) 什么是Data数据类型,以及如何向Nokogiri对象添加属性? 谢谢!

在(Gem :: LoadError)中找不到heroku(> = 0)

微克。 我刚刚从Windows 7安装迁移到Lion系统。 我正在尝试自学Ruby on Rails,虽然我喜欢这种语言,但环境却让人感到脆弱和神秘。 我使用相同的命令在两个系统上安装heroku,但System X系统对安装不满意。 在System XI上使用了rvm,这可能是我的问题。 什么控制Gems的安装位置? 如何让heroku运行起来? 什么会阻止下一个gem丢失? $ sudo gem install heroku … $ heroku -v ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs’: Could not find heroku (>= 0) amongst [minitest-1.6.0, rake-0.8.7, rdoc-2.5.8] (Gem::LoadError) from /Users/aliwells26/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec’ from /Users/aliwells26/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site_ruby/1.9.1/rubygems.rb:1210:in `gem’ from /Users/aliwells26/.rvm/gems/ruby-1.9.2-p290@rails3tutorial/bin/heroku:18:in `’ $ gem environment RubyGems Environment: – RUBYGEMS VERSION: 1.8.11 – RUBY […]

Rails的最佳Ruby语言指南/教程?

我正在寻找一个很好的Ruby教学指南(几乎任何forms),可以很好地理解使用Rails框架进行编程所需的内容。

无法运行任何rake命令:“ERROR:’rake / rdoctask’已过时且不再支持”

我正在尝试运行rake migrate:db命令,我收到以下错误消息: ERROR: ‘rake/rdoctask’ is obsolete and no longer supported. Use ‘rdoc/task’ (available in RDoc 2.4.2+) instead. 我尝试了其他rake命令,我得到了同样的错误。 我怎样才能解决这个问题?

耙黄瓜和耙子规格总是使用“开发”环境

我运行Cucumber和RSpec测试的rake任务总是使用我的development环境。 以下是相关的配置文件: RAILS_ROOT/config/environments/cucumber.rb # Edit at your own peril – it’s recommended to regenerate this file # in the future when you upgrade to a newer version of Cucumber. # IMPORTANT: Setting config.cache_classes to false is known to # break Cucumber’s use_transactional_fixtures method. # For more information see https://rspec.lighthouseapp.com/projects/16211/tickets/165 config.cache_classes = true # Log error […]

嵌入式设备的动态语言?

我需要将动态语言部署到一个小型嵌入式Linux设备,并且很难找到合适的语言:我想用这种语言构建一个小型Web应用程序(使用像Sinatra或Camping这样的小框架)并编写一些脚本进行维护。 我更喜欢Ruby,因为我有一些经验,但经过几天尝试交叉编译,我只能构建裸线解释器,没有libs(miniruby)。 它的问题是,它只是太大了:剥离了超过1 MB! 您使用的是哪种语言,以及使其运行有多困难?

如何与Ruby的CalDAV服务器进行交互?

我需要在Ruby(Rails为精确)应用程序中使用CalDAV在日历服务器上创建事件。 我看过一些不同的图书馆并做了一些谷歌搜索。 我看了ri-cal( http://ri-cal.rubyforge.org/rdoc/ )但不确定它是否支持将数据发送到服务器或者我自己必须这样做, 这看起来很有希望http://www.local-guru.net/blog/pages/rubycaldav ,但它说它是alpha软件,我需要稳定的东西。 做这个的最好方式是什么? 是否有任何库已经执行此操作,我是否需要形成自己的HTTP请求? 关于这个问题的任何建议都是有意义的