相关疑难解决方法(0)

Ruby中有"do ... while"循环吗?

我正在使用此代码让用户输入名称,而程序将它们存储在一个数组中,直到它们输入一个空字符串(他们必须在每个名称后按Enter键):

people = []
info = 'a' # must fill variable with something, otherwise loop won't execute

while not info.empty?
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
end
Run Code Online (Sandbox Code Playgroud)

这个代码在do ... while循环中看起来更好看:

people = []

do
    info = gets.chomp
    people += [Person.new(info)] if not info.empty?
while not info.empty?
Run Code Online (Sandbox Code Playgroud)

在这段代码中,我不必将信息分配给一些随机字符串.

不幸的是,Ruby中似乎不存在这种类型的循环.任何人都可以建议一个更好的方法吗?

ruby loops

448
推荐指数
7
解决办法
25万
查看次数

在Ruby中生成Guids

我有Guids很容易解决的问题.

特别是,对于密码重置工作流程,我想将Guid令牌发送到用户的电子邮件,并让他们使用令牌重置密码.由于guids是唯一的,这是非常安全的,并且节省了我通过电子邮件发送人员密码,这是有风险的.

我注意到Ruby 有一个Guid宝石 ; 但它看起来很旧,它把东西写入文件系统.

有谁知道可以创建全球唯一标识符的任何其他宝石?

我知道我可以回到:

(0..16).to_a.map{|a| rand(16).to_s(16)}.join 
Run Code Online (Sandbox Code Playgroud)

但它看起来并不像是一个合适的GUID ......

ruby guid

130
推荐指数
7
解决办法
8万
查看次数

tr和gsub有什么区别?

我读了Ruby的文档,并与之间的区别糊涂了gsubtr.两者有什么区别?

ruby

125
推荐指数
3
解决办法
3万
查看次数

我需要为我的rails应用程序生成uuid.我有哪些选择(宝石)?

我使用Rails 3.0.20和ruby 1.8.7(2011-06-30 patchlevel 352)

请建议我生成guid的最佳插件.

ruby uuid guid ruby-on-rails ruby-on-rails-3

83
推荐指数
2
解决办法
6万
查看次数

生成独特的,难以猜测的"优惠券"代码

我的Rails应用程序需要为用户生成电子优惠券.每张优惠券都应该有一个独特的优惠券代码,可以在我们的系统上兑换.

例如,免费墨西哥卷饼的优惠券.User A收到免费墨西哥卷饼User B的优惠券,然后收到免费墨西哥卷饼的优惠券.2张优惠券应该有唯一的优惠券代码.

生成像这样不易伪造的代码的最佳方法是什么?我不希望用户输入随机数和兑换其他人优惠券的成功率很高.

我想这就像背面有一个唯一编号的礼品卡就是我要找的东西.

ruby algorithm ruby-on-rails uniqueidentifier

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

Ruby on Rails URL格式

我有一个Ruby on Rails应用程序,您可以在其中创建"帖子".我开始使用脚手架生成器来生成标题,这是一个字符串,而主体是内容.

每个'post'都有一个id的url,例如/ 1,/ 2,/ 3等.

有没有办法将其更改为一串随机字符,例如/ 49sl,/ l9sl等?

更新

这就是我所拥有的 posts_controller.rb

class PostsController < ApplicationController
  # GET /posts
  # GET /posts.json
  def index
    @posts = Post.all

    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @posts }
    end
  end

  # GET /posts/1
  # GET /posts/1.json
  def show
    @post = Post.find(params[:id])

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @post }
    end
  end

  # GET /posts/new
  # GET /posts/new.json
  def new
    @post = Post.new

    respond_to do …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

6
推荐指数
2
解决办法
1624
查看次数