草庐IT

mysql用户Nginx

全部标签

ruby-on-rails - 使用 Devise 时如何在注册后重定向用户?

我正在使用Rails2.3和Devise来处理用户注册/身份验证。我需要在用户注册帐户后立即将用户重定向到外部第3方网站。一直在查看代码和在线,但看不到如何执行此操作。如何更改设计流程以重定向用户? 最佳答案 列为“正确”答案的答案具体指的是登录后...如果您想在登录后重定向用户,您需要覆盖以下内容:defafter_sign_up_path_for(resource)"http://www.google.com"#详情请见thewiki. 关于ruby-on-rails-使用Devis

ruby-on-rails - 在 Unix 上,查找执行该程序的用户是否为 root?

我正在编写一个rake脚本,并希望检测(如果可能,使用Ruby而不是bash)执行rake脚本的用户是否具有root权限。如果它不是root那么我想终止脚本。 最佳答案 使用uid或euid在Process类:raise'Mustrunasroot'unlessProcess.uid==0 关于ruby-on-rails-在Unix上,查找执行该程序的用户是否为root?,我们在StackOverflow上找到一个类似的问题: https://stackove

ruby-on-rails - 如何挽救模型交易并向用户显示错误?

假设您有2个模型,Person和Address,每个人只能将一个地址标记为“主要”。所以如果我想改变一个人的主要地址,我需要使用交易,将新地址标记为主要地址并取消标记旧地址。据我所知,在Controller中使用事务并不好,所以我在模型中有一个特殊的方法,这就是我所拥有的:AddressesController型号:classAddress所以问题是,如果模型方法中的事务失败了,我需要拯救它并通知用户错误,我该怎么做?有没有办法让这个模型方法根据交易是否成功返回true或false,就像save方法一样?我可能可以将该事务放在Controller中并在救援部分呈现错误消息,但我猜这是不

ruby-on-rails - 如何在 Rails 控制台中查看 MySQL 查询

这个问题在这里已经有了答案:HowtoshowSQLqueriesrunintheRailsconsole?(8个答案)关闭8年前。有没有办法在Rails控制台中查看从ActiveRecord触发了哪些MySQL查询?

ruby-on-rails - 如何在 OS X 上使用 ruby​​ 2.3 为 mysql2 gem 解析 "incompatible library version"?

我使用的是ruby​​2.3,在gemfile中,我列出了mysql2gem。但是当我尝试运行rakedb:migrate时,我得到以下信息:/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2.rb:31:in`require':incompatiblelibraryversion-/Users/me/.gem/ruby/2.3.0/gems/mysql2-0.4.2/lib/mysql2/mysql2.bundle(fatal)我似乎无法绕过这个。我用Homebrew安装了Mysql5.7,尝试更新包,卸载并重新安装mysql

ruby-on-rails - 如何从用户数组中提取电子邮件

如果我执行User.all.pluck(:email)那么它工作正常。但如果我这样做arr=Array.newarr=User.all然后arr.pluck(:email)这是引发以下错误undefinedmethod`pluck'for#这意味着我不能将pluck与数组一起使用,那么我们如何才能像上面那样仅在一行中从一组记录中获取特定字段值。我不想遍历数组中的每条记录。 最佳答案 pluck可用于执行极简数据库查询。当你有一个数组时,只需使用map:arr.map(&:email) 关

ruby - 如何在像 nginx 这样的代理后面时在 rails 日志中记录真实的客户端 ip

问题我在两台服务器上安装了Rails3.2.15和机架1.4.5。第一个服务器是服务于静态Assets的nginx代理。第二台服务器是为Rails应用程序提供服务的unicorn。在Railsproduction.log中,我总是看到nginxIP地址(10.0.10.150)而不是我的客户端IP地址(10.0.10.62):StartedGET"/"for10.0.10.150at2013-11-2113:51:05+0000我想在日志中有真实的客户端IP。我们的设置HTTPheaderX-Forwarded-For和X-Real-IP在nginx中设置正确,我已经定义了10.0.1

ruby-on-rails - 在 Rails 4 中检测用户代理 - 读取 HTTP header

我刚刚从PHP切换到RubyonRails,想知道是否有一种方法可以检测客户端设备/用户代理(读取HTTPheader),以便根据收到的请求为网站的不同版本提供服务。在PHP中我一直在使用MobileDetect这样做。一般的想法是只提供每个特定版本所需的文件。这就是为什么客户端方法不是那么有效。有没有办法用Ruby2.0.0和Rails4.0.0做类似的事情?也许有gem可以处理这样的情况? 最佳答案 检查request方法,在那里你可以获得ActionDispatch::Request您拥有所有请求参数,包括用户代理。reque

ruby - RVM 和瘦,root 与本地用户

所以我正在努力精简以使用RVM作为服务运行。在thininstall之后,我手动更新了/etc/init.d/thin以在运行config命令时使用su-user以便thin以本地用户身份运行,而不是root。到目前为止一切顺利。现在,当我尝试sudoservicethinstart时,它看起来像是在尝试使用Ruby的非RVM版本(1.8.7,开始时安装在盒子上)实际上执行命令。我在非RVM版本上执行了geminstallthin,然后得到了一条uninitializedconstantBundler消息——Bundler仅安装在RVMgems中,而不是系统gems.看起来我无法设置R

ruby-on-rails - 如何在 Rails 中为 Mechanize 设置自定义用户代理

我知道你有一组预定义的别名,你可以通过设置agent.user_agent_alias='LinuxMozilla'来使用,但是如果我想设置我自己的用户代理,因为我正在写一个网络爬虫并想要识别它,为了我索引的网站。就像Googlebot。似乎有一个user_agent方法,但我似乎找不到任何关于它的功能的文档。 最佳答案 您可以从别名设置用户代理a=Mechanize.newa.user_agent_alias='MacSafari'可用别名存储在AGENT_ALIASES常量中。pMechanize::AGENT_ALIASES否