Railsにてwebアプリを開発しております
以下のようなmodelを用意して、
インスタンス新規生成時に乱数で構成されるurl_token
とguest_token
を生成したいと思っています
ruby
1class Article < ApplicationRecord 2 belongs_to :user 3 attribute :url_token, :string, default: SecureRandom.urlsafe_base64(8) 4 attribute :guest_token, :string, default: SecureRandom.hex(4) 5 attribute :guest_author, :boolean, default: false 6 # validates :url_token, presence: true, uniqueness: true 7 8 def to_param 9 url_token 10 end 11end
ところがRailsコンソールで動作確認したところ
以下のようにインスタンス生成の度に一定の値を返しており、困っております
bash
1irb(main):034:0> Article.new 2=> #<Article id: nil, title: nil, content: nil, created_at: nil, updated_at: nil, user_id: nil, url_token: "1x9wjBZ5lwI", guest_token: "698f2922", guest_author: false> 3irb(main):035:0> Article.new 4=> #<Article id: nil, title: nil, content: nil, created_at: nil, updated_at: nil, user_id: nil, url_token: "1x9wjBZ5lwI", guest_token: "698f2922", guest_author: false>
SecureRandom.urlsafe_base64(8)
とSecureRandom.hex(4)
が期待する乱数を生成することは確認済みです
現状は問題に再現性が得られておりますが、
少し前には期待する挙動が得られていた気もするのですが...
ruby 2.7.1, Rails 6.0.3
Docker上のローカル環境です
何卒アドバイスをお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/19 09:19