这就是我正在使用的.令牌不一定要被猜测,它更像是一个短网址标识符,而不是其他任何东西,我想保持简短.我已经按照我在网上找到的一些例子,如果发生碰撞,我认为下面的代码会重新创建令牌,但我不确定.不过,我很想看到更好的建议,因为边缘感觉有点粗糙.
def self.create_token
random_number = SecureRandom.hex(3)
"1X#{random_number}"
while Tracker.find_by_token("1X#{random_number}") != nil
random_number = SecureRandom.hex(3)
"1X#{random_number}"
end
"1X#{random_number}"
end
Run Code Online (Sandbox Code Playgroud)
我的令牌的数据库列是一个唯一的索引,我也在validates_uniqueness_of :token模型上使用,但因为这些是根据用户在应用程序中的操作自动批量创建的(他们下订单并购买令牌,基本上),它是让应用程序抛出错误是不可行的.
我猜,我也可以减少碰撞的几率,在最后添加另一个字符串,根据时间或类似的东西生成的东西,但我不希望令牌太长.
我真的不明白Mocks和Stubs是什么.我想知道我们在测试用例中何时,为何以及如何使用Mocks.我知道Ruby on Rails中的Mocks和Stubs有很好的框架,但不知道目的,我不愿意在我的应用程序中使用它们.
你能澄清一下Mocks和Stubs吗?请帮忙.
嗨,我真的很喜欢linux.我目前正在数字海洋上部署应用程序,所以我暂时切换到linux ox.
我做到了
sudo apt-get install ruby 2.0.0
Run Code Online (Sandbox Code Playgroud)
并正确安装,但当我做ruby-v我得到1.8.7版本.
我确信旧版本预先包装了薄荷.
如何在我的bash配置文件或linux启动文件中切换到ruby 2.0.0?
Heroku本身支持memcache作为插件.我的问题是,仍然是一个铁杆新手,我不知道如何使用memcache来加速我最耗时的请求(我知道他们是通过查看新的分析).我们应该在memcache上使用像'cache-money'这样的宝石吗?有人再使用act_as_cached吗?
我知道这是一个非常微不足道的问题.然而,在网上搜索了几个小时后,我找不到一个像样的教程.任何帮助/链接赞赏!
我正在使用带有Rails 4.1.1和Ruby 2.1.1的heroku.我正在使用heroku的默认数据库配置.这就是我将database.yml放入.gitignore并且我不database.yml用于生产的原因.
我正面临着问题PG::ConnectionBad: PQsocket() can't get socket descriptor和解决我需要设置的错误reaping_frequency.
该
reaping_frequency可以告诉活动记录进行检查,看是否连接是挂起或死每隔N秒,终止它们.虽然很可能随着时间的推移,您的应用程序可能会挂起一些连接,但如果代码中的某些内容导致挂起连接,则收割机将无法永久解决问题.
现在我想将此配置添加到database.yml.
reaping_frequency: 10
Run Code Online (Sandbox Code Playgroud)
所以我应该直接添加此配置database.yml以覆盖或是否有任何其他更好的方法将此频率设置为heroku?
提前感谢您的建议.
我在bundle install使用Ubuntu 14.04 时面临以下错误DigitalOcean
Fetching source index from https://rubygems.org/
Fetching git://github.com/activeadmin/activeadmin.git
Retrying git clone 'git://github.com/activeadmin/activeadmin.git' "/home/sachin/.rvm/gems/ruby-2.1.1/cache/bundler/git/activeadmin-c24fcef949b2f1bbdf6b5a17650dcd86d73f2528" --bare --no-hardlinks --quiet due to error (2/3): Errno::ENOMEM Cannot allocate memory - git clone 'git://github.com/activeadmin/activeadmin.git' "/home/sachin/.rvm/gems/ruby-2.1.1/cache/bundler/git/activeadmin-c24fcef949b2f1bbdf6b5a17650dcd86d73f2528" --bare --no-hardlinks --quiet
Retrying git clone 'git://github.com/activeadmin/activeadmin.git' "/home/sachin/.rvm/gems/ruby-2.1.1/cache/bundler/git/activeadmin-c24fcef949b2f1bbdf6b5a17650dcd86d73f2528" --bare --no-hardlinks --quiet due to error (3/3): Errno::ENOMEM Cannot allocate memory - git clone 'git://github.com/activeadmin/activeadmin.git' "/home/sachin/.rvm/gems/ruby-2.1.1/cache/bundler/git/activeadmin-c24fcef949b2f1bbdf6b5a17650dcd86d73f2528" --bare --no-hardlinks --quiet
Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
/home/sachin/.rvm/gems/ruby-2.1.1@global/gems/bundler-1.7.12/lib/bundler/source/git/git_proxy.rb:114:in ``': Cannot …Run Code Online (Sandbox Code Playgroud) 我正在开发 ruby on Rails 应用程序,并使用 sendy 和 amazon ses 进行营销活动。
我是否可以将此 sendy 服务器集成为我的交易电子邮件,我在 ruby on Rails 开发中使用它来发送欢迎电子邮件、忘记密码和其他一些电子邮件?
如果可能的话,请为我提供一些有用的步骤,用于使用 ruby on Rails 配置 sendy 来处理事务性电子邮件。
有人知道解决办法吗?
我已经通过在 docker 文件下面创建来构建 docker 容器
# Select ubuntu as the base image
FROM ubuntu
# Install nginx, nodejs and curl
RUN apt-get update -q
RUN apt-get install -qy nginx
RUN apt-get install -qy curl
RUN apt-get install -qy nodejs
RUN echo "daemon off;" >> /etc/nginx/nginx.conf
# Install rvm, ruby, bundler
RUN curl -sSL https://get.rvm.io | bash -s stable
RUN /bin/bash -l -c "rvm requirements"
RUN /bin/bash -l -c "rvm install 2.1.0"
RUN /bin/bash -l -c "gem install bundler --no-ri --no-rdoc" …Run Code Online (Sandbox Code Playgroud) 我使用SMTP设置在轨道发送邮件3.它工作正常,当sendmail和postfix服务正在运行.但当我停止这两个服务,然后邮件停止发送并给我连接错误.
错误日志 -
ERROR -- : (Errno::ECONNREFUSED): Connection refused - Connection refused
org/jruby/ext/socket/RubyTCPSocket.java:126:in `initialize'
org/jruby/RubyIO.java:1178:in `open'
Run Code Online (Sandbox Code Playgroud) ruby ×4
heroku ×2
actionmailer ×1
amazon-ses ×1
bash ×1
bundle ×1
caching ×1
docker ×1
guid ×1
linux ×1
linux-mint ×1
memcached ×1
memory ×1
mocking ×1
postgresql ×1
random ×1
rvm ×1
sendy ×1
smtp ×1