問題タブ [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 投票する
2 に答える
544 参照

perl - Catalyst アプリケーションを debian パッケージ (または適切な代替パッケージ) としてデプロイするにはどうすればよいですか?

Catalystアプリケーションをテストし、展開することを決定したら、パッケージ化して、ステージング サーバーとライブ サーバーに簡単に取り込み、依存関係を管理し、パッケージのバージョン管理の柔軟性を介して簡単にロールバックできるようにします。私の運用OSはUbuntuなので、debパッケージとしてパッケージ化するのが最も理にかなっていると考えました。

私のディストリビューションでは多くが提供されていないため、すべての perl モジュールの依存関係の 2 つ目のパッケージを作成するか、それらを個別にパッケージ化する必要があると予測していますが、それは大変な作業になる可能性があります。

誰かがこれを行った経験がありますか?

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

perl - DBIx::クラスの無限の結果

詳細を説明する前に、問題は、$c->model('ResultName')->search({k=>v}) を実行し、その has_many リレーションの結果をループすると、1 つしかないことです。データベースですが、永遠にループします。グーグルを試してみたところ、問題を解決した人が1人見つかりましたが、説明が短すぎました。彼のポストはここにありました。

基本的に私は3つのテーブルを持っています

Orders、OrderItems、Items。アイテムは利用可能なものです。注文は、1 人の人が欲しいアイテムのコレクションです。だから私はそれらすべてを次のようなもので結び付けることができます

注文から oi.order_item_id,oi.order_id,i.item_id を o として選択します。

DBIx::Class::Schema::Loader を実行し、適切な関係のように見えるものを取得しました

  • MyApp::Schema::Result::Order->has_many('order_items'...)

  • MyApp::Schema::Result::Items->has_many('order_items'...)

  • MyApp::Schema::Result::OrderItems->belongs_to('items'...)

私が試すテスト

内側のループで無限にループします

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

perl - Catalyst の Makefile.PL の問題

Catalyst アプリケーションをデプロイしようとしています。Makefile.PL ファイルにすべてのインクルードを入れました。ターゲット マシンにインストールするのに十分なはずです。ただし、Makefile をビルドしようとすると、次のようになります。

誰が私が間違っているのか教えてもらえますか? インストールしました - Module::Install - Local::lib - Catalyst::Runtime (そして後で Catalyst::Devel も確認します)

優れた Makefile.PL を管理するという全体的な考え方は、生産マシンへの簡単なインストールだと思いました??

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

perl - 任意のツリー構造用のCatalystディスパッチャ

ご挨拶、

私はCatalystを初めて使用し、ディスパッチロジックを実装しようとしています。

私のデータベースにはアイテムのテーブルがあり、それぞれに一意のurl_partフィールドがあり、すべてのアイテムには同じテーブルに親があり、ツリー構造になっています。bazの子がルートの子である場合、URLbarをこのオブジェクトにマップする必要があります。ツリーは任意の深さにすることができ、ユーザーはブランチまたはリーフに関係なく、任意のノードにアクセスできる必要があります。foo/foo/bar/baz

チェーンディスパッチャのドキュメントを調べてきましたが、これで自分が望むことができるかどうかわかりません。チェーンディスパッチャーの各ステップには属性の定義済みの名前が必要なようPathPartですが、URLはデータベース構造によってのみ決定されるようにしたいと思います。

これは既存のCatalystディスパッチャーで簡単に実装できますか、それとも独自のディスパッチクラスを作成する必要がありますか?

ありがとう!:)

ETA:

空のArgs属性を使用して、任意の数の引数をキャッチできることがわかりました。以下は、ルートの下のすべてのリクエストを正常にキャッチしているようです。

そこから手動でパスを解析して必要なものを取得できますが、これが私が求めていることを達成するための最良の方法であるかどうかはわかりません。

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

perl - Catalyst fastcgiプロセスのPerlインクルードパスを指定するにはどうすればよいですか?

local :: libを使用して、Catalystのすべての依存関係を〜/ perl5 / lib/perl5にインストールしました

mod_fcgidを使用してApache2でアプリを実行したいのですが、fastcgiperlスクリプトがカスタムパスでモジュールを見つけることができません。(apache config?)カスタムlibディレクトリをmyapp_fastcgi.plに明示的にハッキングせずにINCディレクトリに含めるように指定するにはどうすればよいですか?perlインクルードが異なるディレクトリにインストールされているサーバー間でアプリを移動できるようにしたい。

ありがとう、ロブ

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

perl - Dancer vs Catalyst [Perl Web フレームワーク]

両方についてどう思いますか?Catalyst に関する本を読み始めたところ、Dancer に比べてかなり複雑であることがわかりました。だから今、私はDancerを試してみました.Dancerは習得が容易で、より「人間に優しい」ように見えます.

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

perl - 「su」はWebアプリケーション認証に相当し、設計上の質問

私はPerl/Catalystで書かれたカスタマーポータルを開発して維持しています。Catalyst認証プラグインを使用します(LDAPストレージバックエンドと、適切なユーザーが適切なグループメンバーシップを持つようにするためのいくつかのdeny_unlessルールを組み合わせたもの)。

多くの場合、顧客の権限を管理する際に、ユーザーの設定をテストしてから引き渡す必要があります。現在、私たちの唯一の手段はユーザーのパスワードをリセットして自分でログインすることですが、これは理想的とは言えません。特に、ユーザーがすでに自分のパスワードを設定している場合などです。

私の質問はこれです:Catalystの場合、正しいスーパー管理者権限が与えられると、設定のテスト中に一時的に別のアカウントになりすまして、完了したら元に戻すことができるような、ユーザーアカウントになりすます方法に出くわしたことがありますか?

Catalystにない場合、人々は他のフレームワークや独自のカスタムソリューションでこれにどのようにアプローチしましたか?確かに、これはWebアプリケーションに潜在的に悪質な攻撃ベクトルを導入するものですが、実装を余儀なくされた場合、人々はこれの設計にどのようにアプローチしましたか?おそらくいくつかの深刻なcookie-session-fu?それとも、actualID /effectiveIDシステムですか?

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

perl - 連鎖作用で触媒が一度だけ死なないのはなぜですか?

次のアクションを検討してください。

'/ stuff / 314 /'をリクエストすると、次のようになります。

最初に失敗したチェーンリンクでエラーをスローしない理由はありますか?

なぜ触媒は連鎖を続けようとしているのですか?

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

perl - DBIx :: Class仮想列?

DBIx :: Class(ローダー)ベースのORMを使用してアプリを構築しています。私のデータベースモデルのほとんどには、「名前」列があります。私のコントローラーの1つは、主に「名前」列を使用してすべてのスキーマクラスを検索します。ただし、いくつかのスキーマクラスには「名前」列がありません。

DBIx :: Classで、代わりに別の列を使用する一種の「仮想」列を追加することは可能ですか。

密かに書き直します

私は理にかなっていると思います、誰か?

Thx、Rob

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

database - DBIx::Catalyst でのクラスのアップグレード (DBIx::Class::Schema::Loader)

アプリケーションに Catalyst を使用しており、製品バージョンを次のメジャー リリースにアップグレードする準備をしています。新しいリリースでは、データベースに多くの変更が加えられました。Catalyst の ORM は、DBIx::Class::Schema::Loader を使用して、物理的な開発データベースから作成されます。Rails のようなフレームワークでは、ORM は逆に機能し、あるバージョンから次のバージョンへの移行は簡単です。

データベースの古いバージョンを新しいバージョンに変更する変更スクリプトを作成するためのソリューションがあるかどうか、誰か教えてもらえますか? mysqldiff、MySQL Workbench (同期オプションが壊れています)、RedGate、Toad for MySQL、その他多数のツールを試しました。そのため、Catalyst アプリケーションまたは DBIx::Class モデルでこれを行うためのより簡単な方法が必要です。

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

ロブ