Deviseの最新バージョンには次の機能がありません。私は既にUserモデルにそれぞれの列を追加しましたが、どのように有効にするかのコード例は見つかりませんでした:確認可能。私はどのようにして有効にしますか:Deviseで確認できますか?
どこで良い例が見つかるか、またはどのようなコードを有効にする必要がありますか?
Deviseの最新バージョンには次の機能がありません。私は既にUserモデルにそれぞれの列を追加しましたが、どのように有効にするかのコード例は見つかりませんでした:確認可能。私はどのようにして有効にしますか:Deviseで確認できますか?
どこで良い例が見つかるか、またはどのようなコードを有効にする必要がありますか?
この質問はあなたには、いくつかの移行似て書かれている場合;-)奇数1のようだ:そうのような:
:change_table(:users) do |t|
t.confirmable
end
add_index :users, :confirmation_token, :unique => true
を、あなたは、モデル内の変化がほとんど(考案する確認できる追加=>を渡して)言ったように
devise :database_authenticatable, :registerable, :confirmable
(あなたはdidnの場合 ')あなたは今、いくつかのビューを生成することができます
rails generate devise:views
あなたはアプリ/ VIに行くことができますews/devise/confirmations/new.html.erbを開き、それがどのように見えるかを確認したり変更したりしてください。確認できるがそのようになっている場合...すべてがうまくいった技術的ならば、それは作品べき
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
この条件のチェックが:さらに次の行があるアプリ/ビュー/工夫/確認/共有/ _links.erb =>検査することができますOOTB。新しいアカウントを作成した後は、確認メールが適切なリンクで送信される行が表示されます。これはトリガー:
Rendered devise/mailer/confirmation_instructions.html.erb
はそう、あなたがビット確認の戦略をカスタマイズする方法
それをカスタマイズすることができ、次の場所を持っていますか?何を達成したいのか正確な質問をしてください。あなたは宝石のパスを調べることができます。 /lib/devise/models/confirmable.rbにはいくつかのコメントが参考になるかもしれません。
よろしく
すでにインストールしている場合、あなたのアプリに工夫し、代わりに実行する、後で「確認できる」を追加します:
rails generate devise:views
ピョートルによって述べたように、
rails generate devise:views confirmable
を実行します
"確認可能"に必要なビューのみを生成する。
rails generate devise:views confirmable
invoke Devise::Generators::SharedViewsGenerator
create app/views/confirmable/mailer
create app/views/confirmable/mailer/confirmation_instructions.html.erb
create app/views/confirmable/mailer/reset_password_instructions.html.erb
create app/views/confirmable/mailer/unlock_instructions.html.erb
create app/views/confirmable/shared
create app/views/confirmable/shared/_links.erb
invoke form_for
create app/views/confirmable/confirmations
create app/views/confirmable/confirmations/new.html.erb
create app/views/confirmable/passwords
create app/views/confirmable/passwords/edit.html.erb
create app/views/confirmable/passwords/new.html.erb
create app/views/confirmable/registrations
create app/views/confirmable/registrations/edit.html.erb
create app/views/confirmable/registrations/new.html.erb
create app/views/confirmable/sessions
create app/views/confirmable/sessions/new.html.erb
create app/views/confirmable/unlocks
create app/views/confirmable/unlocks/new.html.erb
これらのファイルに直接アクセスして、アプリケーションのようにスタイルを設定することができます。また、Deviseが生成されたメーラー・ビューを介して送信した電子メール内のメッセージを変更することもできます。
最後に、config.action_mailer.delivery_methodとconfig.action_mailer.smtp_settingsをapp/config/environments/{environment_name} .rbファイルに追加することを忘れないでください。これは私のproduction.rbファイルの外観です:
Tiloが示唆するようにマイグレーションを行う必要はありませんか? – Leahcim
ああ、これは少しオフです。ここで作成されたビューはすべて役に立ちません。あなただけの本当に必要: '/アプリ/ビュー/確認できる/確認がアプリ/ビューを作成 作成確認できる/確認/ new.html.erb アプリ/ビューを作成/確認できる/メーラー/ confirmation_instructions.html.erb' – jackyalcine
こんにちは、ドメインの正しい設定は何ですか?私のヒーローアプリのドメインですか? –
"可"を確認するには、あなたのモデルに追加するだけです。:
その後class User
# ...
devise :confirmable , ....
# ...
end
、あなたのモデルに必要な列を追加して移行を作成して実行する必要があります:
# rails g migration add_confirmable_to_devise
class AddConfirmableToDevise < ActiveRecord::Migration
def self.up
add_column :users, :confirmation_token, :string
add_column :users, :confirmed_at, :datetime
add_column :users, :confirmation_sent_at , :datetime
add_column :users, :unconfirmed_email, :string
add_index :users, :confirmation_token, :unique => true
end
def self.down
remove_index :users, :confirmation_token
remove_column :users, :unconfirmed_email
remove_column :users, :confirmation_sent_at
remove_column :users, :confirmed_at
remove_column :users, :confirmation_token
end
end
参照: Adding confirmable module to an existing site using Devise
を私はしお勧めしますソースコードを確認して確定確認の仕組みを確認してください:
https://github.com/plataformatec/devise/blob/master/lib/devise/models/confirmable.rb
あなたはまた、工夫にRailsCastをチェックすることができ:
http://railscasts.com/episodes/209-introducing-devise
次それはDRYのためのGitHub
これは答えとしてマークする必要があります。また、「http://stackoverflow.com/a/7577878/602588」(以下の回答)のビットを追加する必要があります。 – jackyalcine
また、次の行を追加する必要があります。 add_column:users、:unconfirmed_email、:string – Calciphus
は、Deviseの最新の変更ですか? – Tilo
上のサンプルアプリケーションを検索するための最良のだろうが、あなたはまた、/ configに/初期化子でメーラーの設定を置くことができますmail.rb like:
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => '[redacted]',
:user_name => '[redacted]',
:password => '[redacted]',
:authentication => 'plain',
:enable_starttls_auto => true }
チェックアウトdevise wiki page。あなたの質問には完全な答えがあります。
config.action_mailer:
はI、上述actionmailerの設定を設定した後、新しいユーザーを登録した後に現れるだろうエラーページを修正するための設定/環境/ development.rbファイルに1つの最後の添加をしなければなりませんでした.default_url_options = {:ホスト=> 'localhostの'}この溶液約
+1。どうもありがとう。 – riship89
V2のように移行のスタイルが古くなっていることに注意してください。 https://github.com/plataformatec/devise/wiki/How-To:-Upgrade-to-Devise-2.0-migration-schema-style – tibbon