問題タブ [yesod]
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.
haskell - toWidgetの一方の使用が機能し、もう一方の使用が機能しないのはなぜですか
Yesodプロジェクトを変更しようとしましたが、奇妙なエラーが発生しました。最初に、動作するフォームコードと、エラーメッセージを含む必要最低限の壊れたコードを示します。
type PForm x = ProductConfig ->
Html ->
MForm ReScheduler ReScheduler (FormResult x, Widget)
次の作業コード
上記のコードは正常に機能します。これが壊れたコードで、その後にエラーといくつかの観察結果が続きます。
type RForm x = [KeyJobPair] ->
Html ->
MForm ReScheduler ReScheduler (FormResult x, Widget)
コメントアウトされたハードコードされたハムレットコードに注意してください。これは正常にコンパイルされます。widgetFile
これにより、問題はではなく、にあると私は信じますtoWidget
。YesodブログでwidgetFile
、明示的な:: Widget
型署名が必要になる場合があることを指摘しました。私はこれを機能させることができませんでした。たぶん、これは単なる構文上の問題です。フィードバックを歓迎します。それまでの間、ハードコードされたHamletを使用できます。
haskell - Yesod JavaScript フォーマット
Yesod で生成された JavaScript コードのデバッグに取り組んでいます。Yesod は各関数を 1 行にまとめた JavaScript ファイルを生成するため、関数内にブレークポイントを設定することができません。JavaScript がデバッグ用のフォーマットを保持するように、この動作を変更する方法はありますか?
macos - Yesod Haskell Web フレームワークを Mac OSX にインストールできない
これを修正する方法がわかりません。誰にもアイデアはありますか?
試してみると、次のエラー メッセージが表示されます。
haskell - 「Yesod devel」が devel.hs の fromJust で失敗する
「yesod devel」を実行すると、「devel.hs: Maybe.fromJust: Nothing」と表示されます
また、Web サーバーがポートをリッスンしていません (ブラウザーでサイトを開くことができません)
これを修正する方法を知っている人はいますか?
私の環境:
- yesod-0.9.4.1
- The Glorious Glasgow Haskell Compilation System、バージョン 7.0.3
- Mac OS X 10.6.8
「yesod init」が作成した dist/devel.hs は次のとおりです。
すべてのファイルを bbbb ディレクトリにアップロードしました。Application.hs は https://github.com/suztomo/LanguageStudy/blob/master/Haskell/Yesod/bbbb/Application.hsです。
yesod - レンダリングされたラジオボタンのブロック内のdivにアクセスするにはどうすればよいですか
radioFieldが、集落を介して明らかに繰り返すことができないblobを返すことに気づきました。ブロブ内のdivを操作して、cssクラスのメンバーにできるようにしたいと思います。私は2つの方法を考えました。(1)カスタムフォームを作成します。これは私にはやり過ぎのようです。(2)ハードコードされたhtmlフォームを作成します。これは満足のいくものではないようです。プログラムでそれを行う方法が欲しいのですが。カスタムフォームを作成する代わりの方法はありますか?
haskell - Yesod.Request.FileInfo(fileContentType)がテキストであるのはなぜですか?
私はHaskellとYesodから始めたばかりなので、明らかな何かが欠けている場合はご容赦ください。
Yesod.Contentに明示的なContentTypeがありますが、 Yesod.Request.FileInfoのfileContentTypeがテキストであることに気づきました。疑問に思っていますが、なぜそれが代わりにContentTypeではなく、最もクリーンな変換は何ですか?
前もって感謝します!
haskell - PersistBackend のカスタム インスタンスの作成
次の形式のモナド変換スタックがあります。
そして、永続的な呼び出しを使用したいinsert
のでlookup
、のPersistBackend
インスタンスを作成する必要がありますT
。ただし、ファントム型は特定のバックエンドをKey
戻り値の型にエンコードします。これにより、さらに頭の痛い問題が発生します。ファントム タイプの問題を解決するために、私のインスタンスの形式は次のとおりです。
もっと簡単な方法をやみくもに見落としていますか?手動で持ち上げて関数を呼び出す以外の方法:insertT = T . lift . insert
yesod - マッチング タイプ: 困惑
私は、私の単純なニーズに対して、Yesod 型が十分に揃っていると思っていました。ハッ!以下は、現在コンパイルされている 2 つの関数ですが、現時点では私が望んでいることを正確に実行しておらず、どのように進めればよいかわかりません。
何らかの理由で型シグネチャがaddNote
コメントアウトされています。コメントを外すか、getCurrentTime を呼び出すと、以下に表示するエラーが表示されます。
何の種類かわかりませんaddNote'
。GHCは次のように述べています。
また、GHC によると、 のタイプaddNote
は次のとおりです。
getUTCTime
これは、行または の型シグネチャのコメントを外した場合に発生するエラーですaddNote
。
タイプを一致させるにはどうすればよいですか?
haskell - 永続データベースへの同時アクセスに関するルールは何ですか
同時アクセスに関するルールは (Haskell 側では) 文書化されておらず、開発者が使用されている特定のバックエンドに精通していると単純に想定しているようです。本番環境のニーズでは、これは完全に正当な仮定ですが、カジュアルなプロトタイピングと開発では、persistent-* パッケージがもう少し自己完結型であるとよいでしょう。
では、persistent-sqlite とファミリーへの同時アクセスを管理するルールは何ですか? 暗黙的に、接続のプールがある場合、ある程度の同時実行が許可されている必要がありますが、単純に単一の接続プールを作成して呼び出すとreplicateM x $ forkIO (useThePool connectionPool)
、次のエラーが発生します。
編集: いくつかのサンプル コードを以下に示します。
以下のコードでは、6 つのスレッドを分岐しています (任意の数 - 私の実際のアプリケーションは 3 つのスレッドを実行します)。各スレッドは常にレコード (他のスレッドによってアクセスされているレコードからの一意のレコードですが、それは問題ではありません) を格納して検索し、フィールドの 1 つを出力します。
注:この例では40
、 、TEST
、およびすべてのレコードの値は任意です。より現実的な値を含め、多くの値が同じ動作を引き起こします。
forever
また、 ( によって開始された) DB トランザクション内に非終了アクションを ( 経由で) ネストすると、明らかに壊れる可能性がありますがrunSqlPool
、これは主要な問題ではないことに注意してください。これらの操作を逆にして、トランザクションを任意に小さくすることができますが、それでも定期的な例外が発生します。
通常、出力は次のようになります。