問題タブ [devise-invitable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
270 参照

ruby-on-rails - NoMethodError: MyMailer:Class の未定義のメソッド `devise_mail'

Devise で使用している非常に単純なカスタム メーラーを持っていますが、ヘルパー メソッド "devise_mail" が見つかりません。

クラス内で devise_mail メソッドを複製すると (以下のサンプルではコメント解除)、メーラーは期待どおりにカスタム手順で動作するため、カスタム メーラーは間違いなくヒットし、他の場所で使用されているカスタム件名も devise invitable で動作します。

完全なエラーは次のとおりです。

NoMethodError: 未定義のメソッドdevise_mail' for MyMailer:Class from /Users/paul/.rvm/gems/ruby-2.0.0-p598/gems/attr_encrypted-1.3.4/lib/attr_encrypted.rb:259:inmethod_missing'

私は何が欠けていますか?

ご意見をお寄せいただきありがとうございます。

0 投票する
1 に答える
156 参照

ruby-on-rails - 招待可能なアップグレード after_invite_path_for のリソースが異なる

最近、devise_invitable 1.5.1 にアップグレードしました。

以前は、自分の after_invite_path_for メソッドを上書きしていました

class InvitationsController < Devise::InvitationsControllerコントローラ

招待者に基づいて作成されたパスに招待者を送信したかったので、使用していました

しかし、新しいバージョンでは、リソースは実際には招待者を表しますが、以前は招待者でした。

正しいパスを取得できるように、このメソッドで招待者を取得するにはどうすればよいですか?

0 投票する
1 に答える
270 参照

ruby-on-rails - Devise_Invitable 使用時の RSpec でのユーザーの作成とログイン

を使用しているときにRSpecでテストするときに、ユーザーを作成してログインするにはどうすればよいdevise_invitableですか? 招待状の電子メールを送信/テストせずに、ユーザーをセットアップしてログインさせることはできますか? FactoryGirlでこれを行うことは可能ですか?

Rails 4.1 と Ruby 2.1 を使用しています。

ありがとう!

0 投票する
1 に答える
1513 参照

ruby-on-rails - Devise/Devise_invitable: 保留中の招待コントロールをスキップする方法

User が has_and_belongs_to_many グループを持つ特別なシナリオで、devise および devise_invitable gem を使用する Rails/Mongoid アプリケーションがあります。アプリケーションでこれは、ユーザーが他のユーザーによって 1 つ以上のグループに招待される可能性があることを意味します。新規ユーザーと既存ユーザーの両方の招待を処理するために devise_invitable を使用しています。

私が問題を抱えているシナリオは、既にアカウントを登録して確認済みで、あるグループに既に招待されている可能性があるユーザーが、別のグループに招待された場合です。この場合、システムは通常どおり新しい招待状を送信しますが、招待される新しい招待状を作成するのではなく、既存のユーザーに対して送信します。

ユーザーが招待を確認すると、すべて問題なく動作しますが、私が抱えている問題は、ユーザーが確認しない限り、アラートを受け取るため、ユーザー アカウントに再度ログインできないことです。

だから、すでに確認されているが保留中の招待があるユーザーとしてログインしようとするときに、そのコントロールをスキップするために、どうすればいいのか、Devise/Devise_invitable で何をオーバーライドすればよいのか疑問に思っています。

私のユーザーモデルはこれです:

ありがとう!

0 投票する
1 に答える
46 参照

ruby-on-rails - Rails 初心者: モデルベースのユーザー管理

トピック、サブトピック、および記事モデルを使用して Web サイトを開発しています。ユーザーはサインアップ (devise gem) し、トピック、トピックの下のサブトピック、およびサブトピックの下の記事を作成できます。

私がやりたいことは、ユーザーが他のユーザー (メンバーかどうかに関係なく) を招待できるようにすることです-すべてのサブトピックと記事を含むトピックを表示および編集するか、またはサブトピックのみを編集してすべての記事を表示および編集します- または、1 つの記事のみを編集します。

この時点で、devise_invitable gem を招待に使用できるようです。しかし、この招待されたユーザーに許可されたオブジェクトのみを表示するにはどうすればよいでしょうか?

このようなアプリケーションを管理するための宝石などはありますか?

0 投票する
3 に答える
464 参照

ruby-on-rails - モデルで current_user にアクセスする (またはその他の回避策)

このトピックに関するいくつかのSOリンクを読みました。モデルで current_user を取得するためにハッキングできたとしても、それを行うべきではありません。それで、私の場合の私のオプションは何ですか?

私は devise_invitable gem を使用しています。コマンドの 1 つは、User.invite!({:email => email}, current_user)( ) によって招待されたユーザーを格納する ですcurrent_user。この情報が欲しいです。

現在、ユーザーはプライベート グループに招待されており、このプロセスは私のgroup.rbモデルで処理されます。

関連する場合、これらのメールを受信して​​処理するのは単なる text_area です。

あまり再配置する必要がなく、User.invite!({:email => email}, current_user)このプロセスでどのように実行すれば、この有用な情報 (誰が誰から招待されたか) がデータベースに保存されるのでしょうか? どうもありがとう!


更新

以下の@Mohamadの助けを借りて、私はそれを機能させました。

User.invite はすでに devise_invitable によって定義されており、他に何もする必要がなかったため、 User モデルには何もありません。このプロセスは現在うまく機能しています。

0 投票する
1 に答える
1590 参照

ruby-on-rails - レールでdevise_invitableメールをカスタマイズする

デフォルトのデバイスへの招待があるRailsアプリがあります。メールの本文と件名を変更したいのですが、デフォルトのメーラーは次のようになっています。

/app/views/devise/mailer/invitation_instructions.html.erb

これを編集する方法がわかりません。

このリソースを見つけました: https://github.com/scambra/devise_invitable/wiki/Customizing-for-different-Invite-use-cases-(emails-etc.)。私が理解している限りでは、件名を変更する方法と、ユーザーがカスタムの招待メッセージを作成できるようにする方法が説明されています。

しかし、私は彼らが自分のメッセージを作成できるようにしたくありません. 「誰かがあなたを招待しました...」と言う代わりに、「ジョン・スミスがあなたを招待しました..」のように招待者の名前を動的に挿入するシステムメッセージを送信したいだけです。ユーザー モデルに属するプロファイル モデルに first_name 属性と last_name 属性があるので、メーラーには @user.profile.first_name @user.profile.last_name のようなものを含める必要があると思います。

0 投票する
1 に答える
1109 参照

ruby-on-rails - devise_invitable は招待を受け入れることができなくなりました (ただし、コンソール経由で動作します)

devise_invitableドキュメントにアクセスするためのゲスト アカウントを作成するために使用しています。ドキュメントにアクセスする際、ゲストはアップグレード ボタンをクリックしてフル アカウントにアップグレードできます。アップグレード ボタンをクリックすると、devise_invitable招待が承認されます。

以前は機能していた: もう機能していません。

環境:

  • rails 4.2.3 (最近アップグレード)
  • 工夫 3.4.1
  • devise_invitable 1.3.6

アップグレード リンクを生成するゲスト ユーザー用のヘッダー パーシャルを使用します。

@invite_token次のように作成されます。

したがって、link_toヘルパーは次のようなものを生成します。https://myapp/users/invitation/accept?invitation_token=vv_JqeFDLfyX65tx2KhR

リンクをクリックする場合を除いて、次のように表示されます。https://myapp/users/sign_in

エラーメッセージあり:The invitation token provided is not valid!

ログは次のように報告します。

Railsコンソールを介してこれを機能させることができます。

Rails コンソールを並行して実行すると、上記の手順を実行して、期待どおりに機能する accept_invitation リンクを生成できます (つまり、ユーザーに完全なアカウントのパスワードを設定するように求めます)。

注意: raw_invitation_tokenRails コンソール セッションでは異なります。

私は何が欠けていますか?