问题标签 [camping]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1691 浏览

ruby - Camping 和 Sinatra 之间有什么重要的区别吗?

我的感觉是 Camping 和 Sinatra 之间的差异不是很显着,您可以放心地选择其中一个并没问题。但我想问问 Ruby 专家这是否属实。Sinatra 和 Camping 微框架之间实际上有什么重要区别吗?您将如何决定使用哪一个?

0 投票
2 回答
174 浏览

ruby - 如何接收对 ruby​​ 活动记录的聚合查询?

使用 ruby​​、camping webframework、activerecord-2.1.1,我的数据库结构是...

我想要每个用户名的总和

我有以下代码。

我收到了以下结果。仅返回用户名:

我无法同时收到用户名和用户名命中的总和

0 投票
2 回答
4033 浏览

ruby-on-rails - 从另一个视图渲染一个视图

我希望在渲染的每个视图上都出现几个视图,但是由于没有重复代码或破坏规范,我似乎找不到实现此目的的方法。

这是我当前的代码,在每个视图中调用:

我还可以通过允许公共块在身体外部渲染来使其工作,但这违反规范,并且可能最终会严重破坏一些刮板脚本。

0 投票
2 回答
155 浏览

ruby-on-rails - 露营:将用户返回到最近的条目,但保留错误

用户可以使用 URL 查看我的 webapp 中的特定条目。/entry/8, 例如。如果条目不存在,则会附加“找不到条目”@messages并呈现错误页面。

我想显示一些任意查询而不是空白页,但我想不出一个好方法来保持错误消息显示。在任意查询的控制器中还需要执行其他操作,因此我不能只复制查询和render :posts.

一些示例代码:

0 投票
2 回答
222 浏览

ruby - Camping 的 URL() 没有像预期的那样给我“站点根目录”?

由于我无法控制的情况,我的生产露营网站出现在mysite.example.com/mysite. 我很确定这是一个常见的 Apache/Passenger 配置问题,我现在对如何修复它不感兴趣,因为服务器超出了我的控制范围。可以说,“/”的控制器指向那里,我不能很快改变它。

现在,很长一段时间以来,这都不是问题,因为R(MyIndexController)指向正确的位置。Rack::Static但是,我通过调用使 $SITE_ROOT/public 可访问来提供我网站的 CSS 。这意味着样式表位于mysite.example.com/mysite/css/style.css. 这就是问题所在:URL()在我的布局中调用 Camping 方法时,给出http://mysite.example.com的是 ,而不是http://mysite.example.com/mysite。所以我不能让它指向 /css 子目录,因为它在中间缺少一个“跃点”。当我在本地运行 rackup 时,一切都很好(因为这个文件位于localhost:8080/css/style.css),但是在生产服务器上我不知道如何修复它。

我的问题:我应该调用另一种方法(可能直接来自 Rack 吗?)?我真的想避免对它进行硬编码,和/或有一个黑客来确定我是在本地运行(用于调试)还是在生产中,对于布局的每次渲染。

ETA:好的,这变得更奇怪了。显然,我已经抽象出上面的一些实际细节,其中一部分我认为我“过度清理”。“顶级” URL 实际上更类似于/mysite/rest(我们的 RESTful 界面的以开发人员为中心的 HTML 表示),而不是/mysite/management(帐户)或/mysite/ui(JQuery'd / “nice” UI)。这些是在我们的 config.ru、viarun Rack::URLMap.new(Hash['/rest' => RestModule, '/ui' => PrettyInterfaceModule, '/management' => UserManagerModule]等中设置的。

因此,在回答下面的评论时,R(Index),从 RestModule 中的一个视图,实际上返回/mysite/rest/. 例如,我在布局中有一个“主页”链接,看起来像a :href=>R(Index),并生成看起来像 的代码<a href="/mysite/rest/">。服务器被配置为直接在“站点根目录”提供来自 ./public 的文件,因此./public/css/style.css实际上确实出现在http://mysite.example.com/mysite/css/style.css,如前所述。这是我无法自动生成的链接,这是因为 Rack::URLMap 我认为我可能不得不依赖本机 Rack 方法(而不是 Camping 抽象)来定位此资源。

0 投票
1 回答
950 浏览

ruby - 用露营和哈姆渲染局部

我正在尝试使用露营制作一个简单的博客,就像露营附带的示例一样,只是我想使用haml而不是markaby作为视图。我想使用 _post.html.haml 部分渲染帖子,但我觉得我可能会以错误的方式进行处理。

博客.rb

意见/index.html.haml

意见/_post.html.haml

错误

0 投票
3 回答
1114 浏览

ruby - 这些天在 ruby​​ 上制作异步 Web 应用程序有哪些好方法?

我正在寻找使用 WebSocket 组件和基于机架的前端运行的 web 应用程序。我最初的计划是使用 Camping 作为前端,在瘦服务器上运行服务器,机架config.ru如下所示:

AppWebSockets由 websocket-rack 提供,效果很好。在没有Upgrade: WebSocket请求的情况下,它只是 404,并且请求沿着级联运行到露营应用程序,AppWebPages.

很明显,这个露营 web 应用程序不可避免地需要访问 IO,以使用常规 http 请求与 CouchDB 数据库通信。有很多方法可以进行 http 请求,包括一些与 eventmachine 兼容的异步库。如果我订阅回调,机架会返回,并且在我准备好创建响应时页面已经响应。我希望能够通过 Ruby 1.9 的 Fibers 使用 em-synchrony 来获得一些并发性——我刚刚开始了解它——但找不到任何关于如何将 em-synchrony 与 Thin 一起使用的文档.

我遇到了一个名为 Goliath 的网络服务器,它声称与 Thin 类似,具有 em-synchrony 支持,但它缺少用于启动和测试服务器的命令行实用程序,并且似乎需要我将不同类型的文件写入rackup,这是非常令人反感的。目前还不清楚它是否会支持 websocket-rack,它目前只指定对 Thin 的支持。

有什么好的方法可以避免阻塞 IO,同时仍然使用熟悉的基于机架的工具,如露营和访问 WebSockets?

0 投票
0 回答
199 浏览

ruby - 如何在不污染全局范围的情况下构建友好的 nosql ORM?

有一段时间,我一直致力于构建一个小的 Ruby 库来与 CouchDB 接口,这是一个带有 HTTP 接口的简洁的小型文档数据库。主要特点是:

  • 文档对象是美化的哈希
  • JavaScript Map/Reduce 函数是用原生 Ruby 编写的,并使用 S 表达式解析为 JavaScript
  • 您可以与多个 Couch 数据库交互
  • 它应该与 Camping 等微框架很好地集成

我希望能够做这样的事情:

其中“Recipes”是定义文档具有的几个必需键的类(类名自动用作“种类”键)。

但在艰难时期,我可能想做这样的事情:

现在,显然为了能够像那样“推动”,我要么需要数据库在范围内的某个地方......要么让文档对象本身持有对数据库对象的引用?这在 ActiveRecord 等成熟的 ORM 中是如何完成的?

我不想做,你知道的recipe.push!(@couch_database_object),或者别的什么,因为那太恶心了!但我不想成为一些污染范围的卑鄙小人。

有什么建议吗?

0 投票
1 回答
59 浏览

ruby - 露营模型忽略关联

调用@team.players(或@player.team)时:

我用错了吗?

0 投票
2 回答
75 浏览

ruby - Camping的路径搭建方法

有人可以为我解释一下来自 Lucky Stiff 的 Camping 微框架的这部分代码:

资源