小编Fla*_*kou的帖子

如何使用Ruby或Rails从URL中提取URL参数?

我有一些网址,比如

http://www.example.com/something?param1=value1&param2=value2&param3=value3
Run Code Online (Sandbox Code Playgroud)

我想从这些URL中提取参数并将它们放入哈希中.显然,我可以使用正则表达式,但我只是想知道是否有更简单的方法来使用Ruby或Rails.我没有在Ruby模块中找到任何东西,URI但也许我错过了一些东西.

事实上,我需要一种方法来做到这一点:

extract_parameters_from_url("http://www.example.com/something?param1=value1&param2=value2&param3=value3")
#=> {:param1 => 'value1', :param2 => 'value2', :param3 => 'value3'}
Run Code Online (Sandbox Code Playgroud)

你有什么建议吗?

ruby uri ruby-on-rails url-parameters

134
推荐指数
7
解决办法
11万
查看次数

https带有令牌参数的URL:它有多安全?

在我们的网站上,我们根据用户的私人信息(通过表格提供)向用户提供模拟.我们希望以后允许他们重新使用他们的模拟结果,但不要强迫他们创建登录/密码帐户.

我们曾想过给他们发送一封带有链接的电子邮件,他们可以从中获取结果.但是,当然,我们必须保护此URL,因为私有数据受到威胁.

因此,我们打算在URL中传递令牌(如字母和数字的40个字符组合,或MD5哈希)并使用SSL.

最后,他们会收到这样的电子邮件:

您好,
请在https://www.example.com/load_simulation?token=uZVTLBCWcw33RIhvnbxTKxTxM2rKJ7YJrwyUXhXn上取回您的搜索结果

你怎么看待这件事?它足够安全吗?你会为我的令牌生成提出什么建议?如何在https请求中传递URL参数?

security url https token

77
推荐指数
2
解决办法
7万
查看次数

使用Ruby on Rails安排发送电子邮件任务的最佳方法是什么?

我想安排一项日常任务:每天早上7点,我都希望发送一封电子邮件(无需人工干预).

我正在研究RoR框架,我想知道最好的方法是什么?

我听说过BackgrounDRB,OpenWFEru调度程序或基于Cron的东西,但我是新手,不明白哪一个是为我的需要而制作的.

scheduling ruby-on-rails scheduled-tasks

10
推荐指数
2
解决办法
6550
查看次数

Rails 3.1/mysql2错误:"MySQL服务器已经消失"

我在将我的rails 2.3.14/ruby​​ 1.8.7 app升级到3.1.1/1.9.2时遇到了麻烦:我有一些

(ActiveRecord::StatementInvalid) "Mysql2::Error: MySQL server has gone away"
Run Code Online (Sandbox Code Playgroud)

错误偶尔发生.重要的是要确切地说我从来没有遇到2.3.14上的'mysql'gem以及完全相同的db(因此bug不应该来自mysql(v5.5.10)).

示例:

$ rails c production
Loading production environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > ActiveRecord::Base.connection.active?
 => false
ruby-1.9.2-p290 :002 > exit
$ rails c production
Loading production environment (Rails 3.1.1)
ruby-1.9.2-p290 :001 > ActiveRecord::Base.connection.active?
 => true 
Run Code Online (Sandbox Code Playgroud)

这只发生在我的(远程)生产数据库中,本地开发数据库没问题.我试图在我的database.yml中设置"reconnect:true",但它导致了一个

Mysql2::Error: Host '****' is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts':...
Run Code Online (Sandbox Code Playgroud)

我试图用一个小的rb脚本来解决这个问题只加载mysql2和activerecord但是我没有设法重现这种方式的bug(所以它可能链接到rails堆栈).

由于编码问题,我不能从'mysql2'回到'mysql'宝石(http://www.rorra.com.ar/2010/07/30/rails-3-mysql-and-utf- 8 /).因此,我不得不将我的作品回滚到我的rails 2.3.14应用程序,这让我非常伤心......

你看到我能做些什么来调试这个?我甚至找不到重现错误的可靠方法......有没有人遇到过同样的错误?

我刚发现很少有人提到这个bug(例如:https://github.com/brianmario/mysql2/issues/213)但不是解决方案.

谢谢你的帮助.

activerecord mysql2 ruby-on-rails-3

7
推荐指数
1
解决办法
7527
查看次数

如何在Rails应用程序中删除URL的尾部斜杠?(在SEO视图中)

为了避免内容重复,我想避免多个URL(带或不带斜杠)访问我的网站页面.

目前,URL

catalog/product/1
Run Code Online (Sandbox Code Playgroud)

catalog/product/1/
Run Code Online (Sandbox Code Playgroud)

导致同一页面.我的目标是第二个URL重定向到第一个URL(当然是重定向301).我的网站的任何页面都不应该使用尾部斜杠访问,除了我的主页/显然.

做这个的最好方式是什么?使用.htaccess或routes.rb?你会怎么做?

注意:我正在开发Ruby on Rails 1.2.3

ruby seo ruby-on-rails url-rewriting

5
推荐指数
2
解决办法
5666
查看次数

存储应用程序参数的最佳位置在哪里:数据库,文件,代码......?

我正在开发一个Ruby on Rails网站,我有一个"架构"问题:我的应用程序需要一些参数,我想知道在哪里存储它们.

具体而言,我的应用程序会收到一些评估然后发送的请求.因此,请求模型必须具有与这些处理相关的属性:验证状态发送状态.例如,验证状态可以是" 接受 "," 拒绝 "或" 等待 ".发送状态可以是" 发送 "," 等待 "," 发送期间出错 "或类似的东西.我必须在某处存储这些状态代码参数,但我不知道什么是最佳解决方案.

我可以为每个模型创建一个模型并将它们存储在数据库中(例如,有一个活动的记录模型ValidationStatus)但是:创建一个数据库/模型来存储这样的数据不是一件容易的事吗?

我也可以在代码中使用它们而不"存储"它们,我可以将它们存储在YAML文件中......

那么,一个更简单的问题是:如何处理RoR中的应用程序参数?

database architecture ruby-on-rails

3
推荐指数
1
解决办法
7543
查看次数