問題タブ [catalyst]

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 投票する
1 に答える
304 参照

perl - Catalyst: DBIx::Class::Schema::Loader::make_schema_at() を静的に保存するにはどうすればよいですか?

PACKAGE ->add_columns() がすべてを lc しないように強制できるようにしたいと思い ます。オプションがあることは知っていpreserve_caseますが、どこに置くべきかわかりません。/conf に作成できる「myproj_schema.pl」ファイルはありますか?

0 投票する
2 に答える
1165 参照

mysql - Catalyst 作成スキーマは接続できませんが、接続できます

だから私は接続できます(明らかに、すべての実際の値を置き換えました)

しかし、Catalyt の create スクリプトを実行すると、

dbサーバーがwhereiam.comからの接続を許可していないように動作しますが、コマンドライン経由で問題なく接続でき、一時的にどこからでも接続できるようにdbを開こうとしましたが、まだ成功していません。提供できる情報が少なくて申し訳ありませんが、それが現在私が持っているすべてです。

0 投票する
2 に答える
1401 参照

perl - uri_for にはリダイレクトのポート番号が含まれます

nginx を静的ファイルのフロントエンド Web プロキシとして使用し、バックエンド Web サーバーに Starman を使用して、Catalyst アプリケーションを実装しようとしています。(私は Apache と FastCGI を使用でき、それは問題なく動作しますが、PSGI / Plack と Starman のすべてを解決したいと本当に思っています)

Starman は正常に起動し、 で私のリクエストを問題なく処理できますhttp://localhost:5000。フロントエンド プロキシとして使用するために nginx を起動すると、URL が醜くなり、$c->uri_forメソッドを使用するたびにポート番号 (5000) が乱れます。

例 :

いくつかのログが作成されているので、何が設定されているかX-Forwarded-Hostを確認できます。X-Forwarded-For通常のリクエストの場合、(nginx からの) 値が設定されていますが、$c->uri_forメソッドが使用されるときはいつでも、それらの値は存在しません。

他の誰かがこの問題を抱えていますか?
nginx または Catalyst conf の設定で他に何か不足していますか?

ありがとう!

nginx 構成:

これは同じ物理サーバー上で実行されますが、MyApp 構成で設定しました:

バージョン:

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

perl - MyApp.pm から Catalyst オブジェクト $c にアクセスする

Catalyst アプリで Assets プラグインを使用しています。すべてのページのアセットに JavaScript ファイルと CSS ファイルを含めたいと考えています。

私の最初の考えは、セットアップと構成を行う MyApp/lib/MyApp.pm から $c->assets->include('file.js') を呼び出すことですが、そこで $c を取得する方法がわかりません.

私の次のアイデアは、WRAPPER のものを使用し、[% c.assets.include('file.js') %] のような呼び出しをデフォルトの html テンプレートに配置することですが、呼び出しはオブジェクト情報をページにダンプするため、呼び出しは出力を抑制するために醜いこと。

ソリューションまたは新しいアイデアを歓迎します。前もって感謝します。

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

perl - Catalyst で使用するために Moose オブジェクトを JSON に変換するにはどうすればよいですか?

Catalyst::View::JSONを介してJSON::XSにフィードしようとしている一連の Moose オブジェクトがあります。JSON::XS は、祝福されたデータ構造をエンコードできません。MooseX::Storage::Format::JSONがあることを私は知っています。しかし、それはかなり重すぎるようです。私が探しているのは、本質的にXXX.pmが提供するものと同じ情報です。生データ構造を再帰的に unbless して、(内部で使用するドライバー) が表示できるようにしたいだけです。JSON::XSJSON::AnyC:V:JSON

オブジェクトを使用Catalyst::View::JSONJSON::XSて使用するための最良の方法は何ですか? Moose私には4つの明らかな選択肢があるようです:

  1. 公開された引数が Moose オブジェクトである場合、リクエストを読み取ってファイナライズするようにパッチを適用することにより、Moose オブジェクトを操作しCatalyst::View::JSONます。C:V:JSONfreeze
  2. JSON::XSの戻り値へのフォールバックにパッチを適用します$obj->freeze if $obj->isa('Moose') && $obj->does('MooseX::Storage::Format::JSON')。および proxy によってMX:S:F:JSON使用されるクラスが(使用するために呼び出されるMoose オブジェクトに対して別の内部エンコーダーを選択した場合に大量のバグが発生することを考えるのは嫌です。JSON::AnyMX:S:F:JSONJSON::XSJSON::AnyJSON::XS
  3. 再帰的に unbless する方法を見つけて、Catalyst::View::JSONそのことをやらせてください。
  4. 絶対に使わないCatalyst::View::JSONでください。STDOUT$obj->freezeに書き込み、手動でリクエストをファイナライズするだけです。これは最もハックなようです。

他にもいくつかのオプションがあると思いますが、アイデアはありますか?私の最善の策は何ですか?

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

perl - Catalyst で構成をリロードする方法

Catalyst Web フレームワークで構成が変更され、Catalyst サーバーを再起動せずに構成をリロードする必要がある場合に、構成をリロードする方法。

0 投票する
2 に答える
354 参照

html - PerlおよびCatalystでのユーザー入力からのHTMLの削除

PerlWebアプリにCatalystを使用しています。ユーザー入力からHTMLを削除するために受け入れられている方法は何ですか?

現在、私はHTML::FormatTextの使用に傾倒しています。しかし、この一般的なタスクを実行するためにCatalystに組み込まれているユーティリティが見つからないのは奇妙に思えます。私はそれを見つけられませんでしたか?また、入力を削除するためのこれらのモジュールには、5行のコードが必要なようです。私は単純な「deHTMLify()」メソッドを望んでいました。私は自分で転がることはできると思いますが、車輪の再発明をしたくありませんでした。

HTML :: FormFUのようなフォーム検証モジュールがこれを行うと思いますが、その複雑さを避けたいと思っています。私のフォームは短くてシンプルです。この決定は間違っていますか?

私はそれを正しくやっていますか?

0 投票する
4 に答える
1078 参照

perl - Perlバージョン文字列:なぜEVAL EXPRを使用するのですか?

によって生成されたこれに気づきましたCatalyst.pl。それは明らかにある種の注釈のないハックです。このようなバージョン文字列を設定する利点は何ですか?彼らが何をしようとしているのかさえ理解できません。

0 投票する
2 に答える
673 参照

perl - Perl Test::Moreとテスト要件の設定

Test::Moreテストを実行し、呼び出し元を中止する機能を備えたモジュールが必要になることがよくありますtest_plan。のプラグインリストを設定する一連のテストがありますCatalyst::Test。それらが存在するかどうかを確認するためにテストチェックを行う必要はありません。代わりに、これらのプラグインが存在しない場合、スクリプトを中止したいと思います。

のバグを追跡しようとしていましたが、Catalyst::Authentication::Store::DBI::ButMaintainedこのバグがに存在することに気付きましたCatalyst::Authentication::Store::DBI。ここにあります:

ご覧のとおり、は包含をeval/skip_allチェックしませんAuthorization::Rolesが、プラグインであるため、テストはそれに依存します。

ただし、別の質問があります。これよりもテストの依存関係を指定するためのより洗練された方法はありますか?私の目標は元の作者と同じであることを忘れないでください。テスト要件が存在しない場合は、単にテストをスキップしたいと思います。理想的には、この場合、Catalyst::TestプラグインメカニズムをラップするためにハックしCatalyst::Plugin::*て、残りの部分をなしで実行するためのより良い方法を見つけたいと思いeval/skip_allます。

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

perl - Nginx、Starman、Plack、Catalystを使用したアプリケーションのランタイムエラーはどこにありますか?

Dave RolskyのSilkiディストリビューションで見つけたデーモンスクリプトを使用して、Plack+Starmanを使用開発マシンでCatalystアプリをサーバー化することに成功しました。

次に、スターマンサーバーにリバースプロキシするようにnginxを設定し、nginxが提供する静的ディレクトリのエイリアスを作成しました。ここまでは順調ですね。ただし、アプリケーションSTDERRがどこにログを記録するのか迷っています。それはnginxに到達していません(私はそれが理にかなっていると思います)が、Starmanがそれをどこに記録しているのかについての多くのドキュメントを見つけることができません-どこにでも。Plackのミドルウェアモジュールを確認しましたが、アクセスログのオプションしか表示されませんでした。

誰かが私を助けることができますか?