問題タブ [discourse]
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.
ruby-on-rails - Deviseで既存のRailsサイトにDiscourse SSOを組み込む
ユーザー認証としてdeviseを使用している既存のRailsアプリがあります。談話フォーラムを追加しましたが、すべてがスムーズに進み、サブドメインに常駐しています. https://meta.discourse.org/t/official-single-sign-on-for-discourse/13045の投稿を読みましたが、ユーザーがログに記録した後、デバイス側で何をすべきかまだわかりません既存のレールサイトに。現在、これは私が理解しているプロセスです。
ステップ 1: ユーザーがサブドメインの Discourse フォーラムにアクセスします。ユーザーはログインする必要があるため、ログイン ボタンをクリックします。
ステップ 2: ユーザーは、既存の rails サイトのログイン ページに送信されます。
ステップ 3: ユーザーが rails サイトにログインします。
ステップ 4: ユーザーは、ログインした談話フォーラムのサブドメインにリダイレクトされます。
私の質問は、ユーザーがステップ 3 でログインしたときにサブドメインにリダイレクトされるようにするには、どうすればよいですか? 誰かがこれをうまく実装しましたか? そのウォークスルー ページで次のコード スニペットを見ました。
これは、既存の Rails アプリに追加する必要があるものですか? その情報がURLに含まれているかどうかを解析がチェックし、そうであれば、デバイスのログインプロセスが完了するとリダイレクトされ、そうでない場合は通常どおり機能すると思います。このコードをデバイスファイルのどこかに配置しますか?
windows - Windows で fast_stack をバンドルしようとするとエラーが発生する
エラーを修正する方法を理解しようとしています:
Helicon Zoo 環境にインストールする discourse.org アプリケーションの "bundle install" コマンドを書いたときに発生します。
linux - めちゃくちゃな Docker 環境
私はDocker環境を少し台無しにしています。最初から始めましょう。GitLab の実行専用に使用された、新しくインストールされた Ubuntu 12.04 ハードウェア ボックスがあります。
かなりまともな CPU と大量の空き RAM があるので、Docker をインストールして、現在の Vanilla フォーラムの代わりに Discourse フォーラムをセットアップすることを考えました。私は開始してaptitude install docker.io
、Ubuntu PPA から利用可能な最新の Docker パッケージを取得しました。
次に、Docker のインストール ドキュメントを調べたところ、別の方法でインストールされていることがわかりました。私は「よし、Docker を正しくインストールするには同じ方法を使用した方がよい」と考えました。だから私はちょうど行きましたがwget -qO- https://get.docker.io/ | sh
、最初に古いインストールをパージするのを忘れていました。
ただし、Discourse のインストールを続行したところ、コンテナーの自動起動に関して問題が発生しました。ホスト システムが起動するたびに、コンテナーは実際に起動しますが、接続が制限されています。github.com
例:どうやら解決できないため、イメージを再構築できません。
もう 1 つの問題は、コンテナーが SMTP (mandrillapp.com) 経由でメールを送信できないことです。だから私は少し掘り下げて、どうにかしてDockerを再起動するだけのアイデアを思いついservice docker restart
た. DNS は機能し、メールは再び正常に送信されます。
したがって、基本的にホストが再起動service docker restart
したら、Docker を完全に機能させる必要があります。
すでにいくつかのデッド init スクリプトを探しましたが、1 つしかありません。
誰かがここで私を助けてくれますか?
linux - Docker/Discourse のインストール後、GitLab が機能しなくなりました
以前は、ハードウェア サーバー (Ubuntu 14.04) に常に最新の GitLab インスタンスがありました。
しかし、最近 Discourse (または Docker) をインストールすることにしましたが、GitLab が正しく起動しなくなりました。
サービスを実行すると、sidekiq プロセスが開始されますが、Unicorn ワーカーは開始されません。
いいえ、Docker は GitLab が使用するポートにバインドしようとしません。
Nginx は実行されていますが、以下のみが表示されます。
「502 - GitLab が応答していません。」
誰かが私を助けることができますか?
前もって感謝します。
linux - Amazon Linux AMI リリース 2014.03 に docker 1.2 をインストールする
Amazon Linux AMI リリース 2014.03 に談話フォーラムをインストールしようとしています。そのフォーラムをインストールするには、docker 1.2 以上を使用する必要がありますが、「yum install docker」と入力すると、Amazon からバージョン 1.1.2-1.0.amzn1 が取得されます。では、 https://github.com/docker/dockerから最新バージョンをダウンロードしてインストールするにはどうすればよいでしょうか?
ember.js - Ember にコンポーネントを再レンダリングするように指示する
次のようにコンポーネントを定義しました。
path
ロジックは(きれいではありませんが)意図したとおりに機能しますが、またはの値がlabel
変更されたときにEmberにコンポーネントを再レンダリングするように指示する方法がわかりません-render関数で使用しようとしましたが、これ.observes()
を呼び出しようとしましたthis.rerender()
動作しません。
ありがとう
編集:
はい、もちろん、手動でレンダリングするべきではありません。
私は今、単純なテンプレートを持っています:
このコンポーネントに支えられています:
これは機能するようになり、パスが変更されたときにログが正しく呼び出されるようになりました。オブジェクトを呼び出すとテンプレートが自動的に更新されると思ってい.set
ましたが、現時点では更新されていません。私は何が欠けていますか?
javascript - ハンドルバー テンプレートの外側の JavaScript から Ember.ArrayController にアクセスして、Discourse のバッジのリストを取得します。
Ember.js では、 を使用して、ember Web サイトの例のようにEmber.ArrayController
、特定のデータ コレクションにアクセスできることを知っています。
次のようにハンドルバーでアクセスします。
しかし、私がやりたいのは、javascript で this にアクセスすることですか? より具体的には談話で、ユーザーのバッジを取得します。user-badges.js.es6
コントローラー:
ユーザーのバッジのリストを取得するにはどうすればよいですか? Discourse.UsersBadges ArrayController の呼び出しが機能していないようです。
EmberJS がどのように機能すると想定されているか、または Discourse がどのように機能するように設計されているかを理解する上で問題が発生しているのかどうかはわかりません。
ruby-on-rails - AJAX 経由の談話 API
AJAX を介して Discourse フォーラム ソフトウェアのインスタンスとやり取りしたいと考えています。
Discourse API gem をインストールしていませんが、AJAX リクエストを既存の Discourse Web インスタンスに送信したいと考えています。これを行うには API gem が必要ですか?
GET リクエストは問題なく実行できますが、何らかの理由で "/posts" への POST の実行に失敗します。クエリ文字列に API キーと api_username を追加しています。admin オプションと app.yml ファイルですべての CORS 設定を有効にしました。また、CORS を許可するように nginx ヘッダーを設定しました。
毎回OPTIONSで失敗しています。何が欠けているのか本当にわかりません。どんな助けでも大歓迎です。
ruby-on-rails - Devise、Discourse & Single Sign On / SSO、ペイロードがドロップ、サインインできない
公式の実装手順 (こちら) と Stackoverflow に関するこの回答(こちら) に従って、談話用の SSO をインストールしました。しかし、それは機能していません。SSO ペイロードは、Get users/sign_in アクションと Post users/sign_in アクションの間にドロップされます。
Heroku のログは次のとおりです。
公式の指示 (上記) による談話 SSO コントローラーは次のとおりです。
Devise ビューをカスタマイズし、スコープ ユーザー (クラス Users::SessionsController < Devise::SessionsController) を使用して Devise セッション コントローラーをインストールしました。
Githubの Devise Sessions Controllerソース コードを見ると、Get / New および Post / Create メソッドは次のとおりです。
GET /resource/sign_in
POST /resource/sign_in
Create メソッドの最初の行は、New メソッドの最後の行を参照しますauth_options
(これは ですprotected
):
New メソッドの最後の行 (私は信じています) は、投稿されるパラメーターを作成します。それらはserialize_options(resource)
、別のprotected
方法です:
SSO ペイロードが として渡されていませんserialize_options
。
これは、deviseと oauth OmniAuth Single Sign On with Devise の同様の問題であると思われるもので、invalid_credentialsはトークンをスクレイピングすることで解決されます。
ガイダンスや考えをいただければ幸いです。ありがとう。