问题标签 [padrino]

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 投票
2 回答
210 浏览

ruby - 哪个版本的 Padrino 在 Ruby 1.8.6 中运行良好?

Padrino 0.10 gem 安装了 activesupprt 3.0.9,它需要 ruby​​ >= 1.8.7。

我正在使用 Ruby 1.8.6 有人可以建议我哪个版本的 Padrino 可以在 Ruby 1.8.6 上正常工作吗?

我不想升级 Ruby 版本至少 5-6 个月。这是我当前的 gemfile

0 投票
4 回答
3776 浏览

padrino - Padrino 认证授权解决方案

我用 Sinatra 和 Padrino 编程已经有一段时间了。但是,我仍然无法为 Padrino 找到正确的身份验证和授权解决方案。让我解释一下我的期望以及我已经尝试过的内容。

使用 Sinatra,我成功地使用了sinatra-authentication gem 和role_model gem。我通常使用 Mongoid ORM 与 MongoDB 对话。这两个 gem 一起让我负责身份验证、保护路由、检查登录用户的角色以应用访问控制。

sinatra-authentication 不适用于 Padrino - 它非常特定于 Sinatra。我试了很多次。我已经使用相应的 Padrino 模块尝试了omniauth 和warden,但由于某种原因,我无法让它们像美妙的sinatra-autentication gem 一样简单地工作。

所以 - 在我尝试实施自己的解决方案(或将 sinatra 身份验证移植到 Padrino)之前 - 任何人都可以建议任何其他身份验证和授权解决方案吗?目前我不需要任何花哨的东西——简单的基于数据库的身份验证就可以完美地工作。

0 投票
2 回答
917 浏览

ruby - 为什么使用 Padrino 的“heroku 控制台”会给出无用的错误消息?

使用heroku console时,当引发异常而不是我期望的堆栈跟踪时,我总是得到“内部服务器错误”。

这是我的意思的抄本:

关于我可以更改以获取堆栈跟踪的任何想法?

0 投票
2 回答
380 浏览

ruby - Ruby Padrino 中的多个应用程序:如何命名模型?

我有一个 Padrino 项目,其中包含多个应用程序。例如:

  • 网站 (模型: Site, Page )
  • 博客(模型:帖子,评论
  • 店铺(型号:类别、产品、订单
  • 跟踪(模型:访客、内容

将所有未修改的模型放入一个目录在我看来就像一团糟。所以我想像这样命名它们:

  • 网站(型号:Site、SitePage
  • 博客(模型:BlogPost、BlogComment
  • 商店(型号:ShopCategory、ShopProduct、ShopOrder
  • 跟踪(模型:TrackingVisitor、TrackingContent

但这看起来很奇怪,并且会产生很多额外的输入。

你怎么看?忽略命名空间并希望不会遇到命名冲突(例如博客应用程序的“类别”模型=>错误)是一种好风格,还是应该在每个模型前面加上应用程序名称?

提前致谢。

干杯马克

0 投票
3 回答
6166 浏览

ruby - 如何使用 rspec 在 sinatra 中测试重定向?

我正在尝试在 rspec 中测试我的 sinatra 应用程序(更具体地说,一个 padrino 应用程序)的主页上的重定向。我找到了redirect_to,但它似乎只在 rspec-rails 中。你如何在 sinatra 中测试它?

所以基本上,我想要这样的东西:

0 投票
1 回答
916 浏览

mongodb - 在 Mongo 的集合之间移动文档(通过 Mongoid)

我正在构建一个纸牌游戏(基本的 52 张纸牌套牌 4 花色 * 13 等级),我已经决定使用 MongoDB 来完成这个项目。

我的基本模型是: --> Game --> Deck --> Cards --> Players --> Hand (as Deck) --> Cards --> Final (as Deck) --> Cards --> Closing (作为甲板)-> 卡片

理想情况下,我想将游戏牌组中的牌转移到玩家拥有的各种牌堆中。

但是,执行以下操作:game.players[0].hand.cards.push(game.deck.cards.shift(1))不起作用,相关卡不会从游戏的牌组中移除(因为 #delete 从未调用过),并且不会添加到玩家的手上(根据我有限的理解,Mongoid 会仅将对象添加到嵌入式集合。)

所以要将一张牌从一堆移到另一堆,我基本上必须这样做:game = Game.first player = game.players.first

不是惊天动地的困难,但我基本上是在做一个 READ、一个 DESTROY 和一个 CREATE,基本上可以模拟一个非常简单的 UPDATE。

有什么我想念的吗?这是 Mongoid ODM 的限制吗?在集合之间移动文档是一个巨大的禁忌吗?

我非常愿意接受有关该模型的建议,因为我不知道嵌入式文档是否适合此类问题。

下面是对应的样板

提前致谢!

0 投票
4 回答
1902 浏览

ruby - padrino && websockets

我正在寻找一种从Padrino应用程序中打开和使用 websockets 的方法。我知道 Padrino 使用单线程工作,但我正在寻找一种方法来打开 websockets 并在其“onopen”“onclose”“onmessage”方法和 Padrino 控制器之间共享变量。

知道它是怎么做的吗?

我查看的链接:

GitHub 上的事件机器与 Padrino 和 Sinatra 的使用示例(只有 Sinatra 为我工作) em-websocket

更新 1:这是我的 main.rb:

结尾

我得到了这个例外:

更新 2:感谢 Nathan 解决!我刚刚将“守护程序”添加到 Gemfile 并重新加载了我的应用程序。

0 投票
1 回答
190 浏览

ruby - 如何创建 URL 以链接 Padrino 中的应用程序?

我有一个名为“api”的单独应用程序,我想从我的管理应用程序链接到它。但如果我做一个像这样的链接:

它带我到 /admin/api/users,我想去 api/users/attributes。

0 投票
2 回答
1074 浏览

ruby - 如何在 Padrino 中为 Mongoid 数据库添加索引?

我需要能够在 Padrino 项目中向我的 Mongoid 数据库添加索引。我看到他们在这里为此添加了 rake 任务:

https://github.com/padrino/padrino-framework/commit/ec8a267f477ac4dc88a66c84fffb17ac26190a22

似乎应该通过这样做来访问它们,但我收到一个错误:

关于如何运行 rake 任务以在 Padrino 中添加索引的任何想法?

谢谢!

0 投票
1 回答
198 浏览

ruby - padrino-gen 迁移 create_indexes 不起作用

我正在尝试使用 mongoid_fulltext 并且似乎无法通过迁移来创建所需的索引。当我尝试:

我得到一个结果

但是当我清空一个文档并重建它时,新的索引不会出现。难道我做错了什么?