Tag: 事件

Rails – 从控制器触发javascript事件

我正在考虑实施类似下面的内容,并且想知道a)如果由于某种原因我可能是一个非常糟糕的想法,我没有想到,并且b)如果没有 – 是否有现成的gem可以做到这一点。 基本上,我希望能够从我的rails控制器排队javascript事件,以便在下一次渲染时,所有排队的事件都将被触发并从队列中删除。 有点像闪存机制,但对于事件而言。 例如: 在我的控制器中: def create if resource.create add_event(‘resourceCreated’, :id => resource.id) end end 在我的应用程序布局中,例如: %javascript – @events.each do |e| $(document).trigger(#{e.event_name}, #{e.event_data}) 有什么想法吗? 编辑:这将是有用的,例如,当创建项目时,服务器可以重定向到所述项目的编辑表单,或者可以重定向到相关控制器的索引操作。 这些页面不知道刚刚创建了一个项目。 但是,如果项目是成功创建的话,我想做一些像关闭对话框窗口的事情,但如果不是,则将其保持打开状态,或者我可能需要知道任何其他可能的原因。 显然不仅仅与创造有关,这只是我用来说明问题的例子 编辑:赏金去任何以令人信服的方式说服我这是一个好/坏的想法或提供更好的选择

没有路由匹配{:action =>“edit”,:controller =>“events”}缺少必需的键:

我正在使用Rails应用程序,在尝试添加“编辑事件”链接后,我收到了以下错误。 No route matches {:action=>”edit”, :controller=>”events”} missing required keys: [:id] 下面是我的index.html.haml .event_con %h1 Things you’ve done – @events_own.each do |event| .event_title = event.activity .event_rating %strong Rating : = event.rating &#47 10 .event_when %strong Started : = event.time.to_s(:short) .event_end %strong Ended : = event.timetwo.to_s(:short) .event_notes %strong Notes : = event.notes = link_to “Edit”, edit_event_path 这是我的事件控制器: class […]

回调更改的ActiveRecord属性?

我知道ActiveRecord :: Dirty和相关的方法,但我没有看到我可以订阅属性更改事件的方法。 就像是: class Person < ActiveRecord::Base def attribute_changed(attribute_name, old_value, new_value) end #or attribute_changed do |attribute_name, old_value, new_value| end end 是否有Rails标准或插件? 我觉得它必定存在于某个地方,我只是想念它。

在Win32上,如何使用Perl,Python或Ruby(或C)检测是否按下了Left Shift或Right ALT?

在Win32上,我想知道如何使用Perl,Python或Ruby(甚至在C)中检测是否按下了Left Shift或Right ALT? 不仅适用于当前窗口,还适用于整体环境。 示例:当我输入文档时,我可以按下右键ALT启动用Ruby编写的音乐播放器,然后再次按下右键ALT,它可以暂停或停止程序。 谢谢。

Ruby:在事件触发器中自动包装方法

inheritance人我拥有/想要的东西: module Observable def observers; @observers; end def trigger(event, *args) good = true return good unless (@observers ||= {})[event] @obersvers[event].each { |e| good = false and break unless e.call(self, args) } good end def on(event, &block) @obersvers ||= {} @obersvers[event] ||= [] @observers[event] << block end end class Item < Thing include Observable def pickup(pickuper) […]

在同一脚本中启动并调用Ruby HTTP服务器

我想知道如何启动Ruby Rack应用程序(例如Sinatra)并在同一脚本中使用Net :: HTTP或类似方法调用它。 我可以做点什么…… require ‘sinatra/base’ require ‘net/http’ t = Thread.new do class App ‘localhost’, :port => 1234 end sleep 2 puts Net::HTTP.start(‘localhost’, 1234) { |http| http.get(‘/’) }.body t.join puts ‘Bye!’ …但是,等待Thin启动时,睡眠两秒钟并不是最佳选择。 我需要的是当服务器启动时或某人有任何其他建议时的某种回调?