问题标签 [ruby-on-rails]

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 投票
12 回答
16927 浏览

Rails 的 WYSIWYG 编辑器 gem?

对于所见即所得的编辑器,是否有一个很好的 ruby​​ gem 可以轻松地与 rails 应用程序一起使用?

0 投票
5 回答
973 浏览

如何在 MVC 中表示跨模型信息?

我有一个使用 MVC 构建的应用程序,它生成一个视图,该视图提供跨多个模型的摘要信息。此外,一些计算是在不同的数据集上执行的。

没有明确的单一模型(至少映射到表)作为起点似乎是有意义的,因此从控制器中的贡献模型中提取各种摘要,传递到视图并在那里执行计算.

但这似乎很脏。但是控制器应该是轻量级的,不是吗?业务逻辑不应该出现在视图中,就像我现在所拥有的那样。

那么这些信息应该在哪里收集呢?一个不映射到表格的新模型?库函数/模块?或者是其他东西?

(虽然我认为这主要是一个架构/模式问题,但我在 Rails 工作,FWIW。)

编辑:全面的好答案,以及很多共识,这令人放心。我“接受”了我为将 Railscasts 的链接保留在顶部所做的回答。我在 Railscast 观看中落后了——我将努力纠正这一点!

0 投票
7 回答
1972 浏览

是否有用于备份数据库中数据的 rake 任务?

是否有用于备份数据库中数据的 rake 任务?

我已经备份了架构,但我想备份数据。这是一个小型的 MySQL 数据库。

0 投票
6 回答
3549 浏览

如何优雅地关闭 Mongrel Web 服务器

我的 RubyOnRails 应用程序是使用 Apache 配置背后的常用杂种包设置的。我们注意到我们的 Mongrel Web 服务器内存使用量在某些操作上会变得非常大,我们真的希望能够随时动态地优雅地重新启动选定的 Mongrel 进程。

然而,由于我不会在这里讨论的原因,有时我们在 Mongrel 为请求提供服务时不要中断它是非常重要的,所以我认为简单的进程终止不是答案。

理想情况下,我想向 Mongrel 发送一个信号,上面写着“完成你正在做的任何事情,然后在接受更多连接之前退出”。

对此是否有标准技术或最佳实践?

0 投票
3 回答
635 浏览

Windows上的Ruby / Rails前纪元日期

在 Windows 上使用 ruby​​ 和 rails 中的日期时,我遇到了前纪元日期(1970 年之前)抛出超出范围异常的问题。我尝试同时使用TimeDateTime对象,但仍然有同样的问题。

0 投票
5 回答
14701 浏览

如何支持 SSL 客户端证书身份验证?

我想做 myopenid 做的事情——一旦你登录了,你可以点击一个生成 SSL 证书的按钮;浏览器然后下载此证书并存储它。当您稍后返回 yourid.myopenid.com 时,您的浏览器可以使用其存储的证书进行身份验证,因此您不需要密码。

所以我的问题是让这个工作需要什么?如何生成证书?将它们呈现给我后如何验证它们?

我的堆栈是使用Passenger 的Apache 上的Rails,但我并不太特别。

0 投票
2 回答
1949 浏览

XML => 带有 Hpricot 和 Rails 的 HTML

我从未使用过 Web 服务和 Rails,显然这是我需要学习的东西。我选择使用 hpricot 因为它看起来很棒。无论如何,_why 已经很好地在hpricot 网站上提供了以下示例:

看起来简单、优雅、轻松。在 Ruby 中效果很好,但我的问题是:如何在 Rails 中分解它?

我尝试将这一切添加到单个控制器中,但想不出在视图中调用它的最佳方法。

因此,如果您从 Web API 解析 XML 文件并使用 Hpricot 将其打印为干净的 HTML,您将如何分解模型、视图和控制器上的活动,以及将什么放在哪里?

0 投票
6 回答
11329 浏览

有没有办法将命名范围组合成一个新的命名范围?

我有

我想要

但我更喜欢以干燥的方式来做。我可以通过使用获得相同的效果

但它不是特别可爱。

0 投票
11 回答
15096 浏览

在 Capistrano 中部署 Git 子目录

我的主分支布局是这样的:

/ <-- 顶层

/client <-- 桌面客户端源文件

/server <-- Rails 应用程序

我想做的只是拉下 my 中的 /server 目录deploy.rb,但我似乎找不到任何方法来做到这一点。/client 目录很大,因此设置一个挂钩将 /server 复制到 / 不会很好,它只需要拉下 Rails 应用程序。

0 投票
2 回答
1214 浏览

Rails 需要 RubyGems >= 0.9.4。请安装 RubyGems

我正在使用 Rails 2.1.0(来自gem)部署到 slicehost 上的 Ubuntu slice

如果我尝试mongrel_rails启动或脚本/服务器,我会收到此错误:

当我键入时,gem -v我已经1.2.0安装了版本。关于要解决什么问题的任何快速提示?