我正在铁轨上的红宝石上开发一个"游戏平台".它不是2D或3D密集型游戏,而更像是测验游戏,想象典型的Facebook测验,甚至是"你的大脑有多大"的游戏类型.这里的学生将使用该平台轻松开发自己的想法.关键是要创建一系列小部件,它们可以放在页面中,使它们可以处理数据和CSS.
为此我开始创建小部件,这些小部件将集成到您刚刚执行的页面中
<%= widget_name widget_params %>
对他们来说足够容易,但为此我需要:
刚才渲染部分的助手中的方法
部分标有id的html元素
javascript文件中的函数,在页面上查找该id,如果找到它们的工作(因为大多数小部件将以某种方式使用JS)
模型中的数据支持.
例如,我的计时器是一个javascript函数+一个部分game.timeout是游戏模型,每个游戏有一个列超时.以及帮助器中包含的所有内容,以便用户使用<%= timer @game %>
请注意,小部件需要更改页面或至少向页面控制器发送某种信号以告诉他有关全局更改的信息.例如,计时器小部件不仅会自行终止,而且应该告诉游戏控制器游戏也已经终止(这就是为什么它们在同一页面而不是iframe中是部分的).
学生使用的界面(只有一个衬垫)很简单,我喜欢这样,但事实上每个小部件需要触摸这么多地方,避免我轻松地将新的小部件部署到框架,一般看起来像一个可怕的设计.
我也(1小时前)发现了Extjs,因为我将开发GPL,我正在考虑它.
任何方式让extjs或任何其他手工制作或提供的小部件更加孤立,但仍然能够改变更全局的背景?