こんにちは、誰かが私を助けてくれることを願っています。現時点では少し立ち往生しています。追跡システム用のアプリを作成しようとしています。現在、sdel_hashed というテーブルがあります。オンラインビデオに従って、これまでにダイジェスト/sha1を部分的に機能するようにセットアップしました。コンソールに次のコマンドを入力すると:
sdel = Sdel.find(1)
sdel.hashed_sdel = Sdel.hash('secret')
sdel.save
次に、ブラウザーでレコードを表示すると、シークレットではなくハッシュとして表示されますが、新しいアクションを使用してシークレットという単語を入力しようとすると、ハッシュされません。作成アクションに何かが欠けているのではないかと思いますが、どこにも答えが見つかりません。助けていただければ幸いです。コントローラーとモデルにあるものを含めます。ありがとう
model sdel
require 'digest/sha1'
class Sdel < ActiveRecord::Base
attr_accessible :hashed_sdel
def self.hash(sdel="")
Digest::SHA1.hexdigest(sdel)
end
end
controller sdels
class SdelsController < ApplicationController
def list
@sdel = Sdel.all
end
def new
@sdel = Sdel.new
end
def create
@sdel = Sdel.new(params[:sdel])
if @sdel.save
redirect_to(:action => 'list')
else
render('new')
end
end
end
移行ファイル
class CreateSdels < ActiveRecord::Migration
def change
create_table :sdels do |t|
t.string "hashed_sdel"
t.timestamps
end
end
end