のために働いていない:私はコンテストを作成するときにのRails:before_createコールバックは、私は私のRailsの中で、次の3モデルやろうとしている私のモデル
require 'securerandom'
class Contest < ActiveRecord::Base
attr_accessor :key
before_create :generate_key
private
def generate_key
self.key = SecureRandom.hex(3)
end
end
はしかし、私のテーブル内のすべてのフィールドが正しいように見えます私のDBには残っていないキーを除きます。
詳細:私は私の「コンテストのフォームを作成する」
SQL (0.5ms) INSERT INTO "contests" ("category", "created_at", "description", "key", "price", "status", "time", "title", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?) [["category", "camisas"], ["created_at", Wed, 15 Feb 2012 18:57:16 UTC +00:00], ["description", "test_description"], ["key", nil], ["price", 111], ["status", "In process"], ["time", "2sem"], ["title", "test_contest"], ["updated_at", Wed, 15 Feb 2012 18:57:16 UTC +00:00], ["user_id", 5]]
注[「キー」、nilを経由コンテストを作成するときに、私のレールのサーバーログで
、私は以下を参照してください。 ]
これは正しいでしょうか?私はContest.rb:before_createコールバックによってキーが追加されると思いますか?
おそらく、私はSecureRandomを使用していませんか?
うん、私は1つを逃しました。私は削除:attr_accessorとまだ動作しません:( – Goles
私はサーバーを再起動し、それは働いた。私はすでに数分前にあなたのソリューションを試したので、奇妙な。 – Goles