0

私は Devise を使用して Rails での認証を管理しています。その一環として、Devise は確認のためにメールを送信し、パスワードをリセットします。テンプレートを編集して、当社のブランドに合わせてカスタマイズできます。

クライアントが現在要求していることはよりトリッキーであり、いくつかのガイダンスが必要です。管理者ユーザーがアプリを介して電子メール テンプレートを編集できるようにしたいと考えています。

Devise メール テンプレートは HAML ビューです。テンプレートを大きな文字列としてDBに単純に保存できると思いますが、問題は(a)ユーザーがHAMLを理解していることです(つまり、中間マークアップまたはTinyMCEを使用する必要があります)(b)どのようにレンダリングしますか私のコントローラー?魔法のように、正しいビューに移動します。コントローラーに「render」と言う方法がわかりません。

技術的には、最後のレンダリング ステップはブロッカーのように見えます。何か案は?

4

2 に答える 2

1

ビューをアプリにコピーしてから、すべてを に置き換える= @template.renderか、どのように行ってもかまいません。

于 2012-09-27T11:41:06.570 に答える
0

もう 1 つの方法はEmail、wysiwyg エディターを使用してこれらの電子メールを編集するモデルを作成し、その電子メールの本文が存在する場合はその本文を読み込んでレンダリングすることです。削除されます)。

これにより、haml をレンダリングする必要がなくなり、管理者を html または haml でトレーニングする必要がなくなります。

すべてをカバーする必要がある要点は次のとおりです

PS: これEmailを実現するためにクラスを用意する必要はありません。電子メールの本文は、他の方法でデータベースに直接保存することもできます。ただし、 を使用ActiveRecordすると便利にアクセスできます。私の場合、すでにEmailクラスがありました。

PPS: デバイスのメールを削除しないための安全策として、indestructibleコラムを追加しました。また、管理者がデフォルトのメールに戻せるようにするために、active列を追加しました。

于 2015-01-06T03:51:16.323 に答える