問題タブ [phoenix-framework]

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 に答える
5359 参照

elixir - Elixir Phoenix のオプションの POST パラメーター

フォーム データを POST したい phoenix ルートがありますが、オプションのフォーム フィールドが約 4 つあります (フォームはエンド ユーザーによって作成されるため、これらのフィールドは POST ペイロードに存在しない場合があります)。

ルートの Phoenix コントローラーでは、これをどのように処理しますか?

例えば:

私のフォームは

また、フォームを POST する場合は、常に必要がありますField1Field2、他のフィールドの任意の組み合わせを使用できます。

したがって、これまでのコントローラーコードは次のようになります。

他の 3 つをオプションにするにはどうすればよいですか? それらをすべて追加すると、それらが必要になり、送信された可能性のあるフォームごとに関数を作成する必要はありません。

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

elixir - ExUnit テストでワーカーへの呼び出しをスタブ化 (または実行を防止) する方法は?

私はPhoenixアプリ(フロントエンドのない単なる安らかなAPIです)を持っていて、コントローラーの1つがテストしたいことをしますが、コントローラーの最後で、ペイロードをワーカーに送信するディスパッチャーを呼び出します(poolboy の下で実行) を使用して、受信したペイロードをバックグラウンドで処理します。

私のコントローラー テストでは、ワーカーが行っていることを実際にテストしたくはありません。ワーカーのディスパッチャーが正しいペイロードで呼び出されたことを知りたいだけです (例、 calledWith() )。

そして理想的にはディスパッチャー関数はスタブ化されるため、実際のものが実行されることはありません。

ディスパッチャに追加のパラメータを渡して、ワーカ上でコードが実行されないようにすることもできますが、それは非常に厄介なように見えますが、スタブはアイデアのようです。

ありがとう

編集

ディスパッチャ コード:

テストのモック:

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

ruby-on-rails - Phoenix での Rails の before_filter に相当するもの

最初の Phoenix アプリの作業を開始したばかりですが、問題は、コントローラーのすべてのアクションに共通のコード行がいくつかあることです。これを分離したいと考えています。複数の Ecto モデルからデータを取得し、変数に保存して使用します。

before_filterRails では、単純にメソッドを定義し、それをコントローラーで使用して呼び出すことができました。から結果にアクセスできました@variable。使用が鍵であることは理解してPlugsいますが、これを達成する方法、より具体的には不明です。

  • paramsからのリクエストへのアクセスPlug
  • アクションで変数にアクセスできるようにする

参考までに、これは私がやろうとしていることのレールバージョンです:

ありがとう!

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

elixir - Phoenixサーバーの実行中にコントローラーに何かを記録する方法は?

サーバーの実行中に、Phoenix アプリのコントローラーの 1 つからデバッグ情報を出力しようとしています。

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

elixir - Phoenix テンプレートのフィールドを選択

Phoenix次のようなフォームで使用できる便利な Railsy ヘルパーがいくつか提供されていることは知っています。

  • text_input
  • number_input
  • date_select
  • submit

selectしかし、フィールド用のものが見つかりません。Phoenix Docsを検索しましたが、何も見つかりませんでした。

私の質問は、helperフォームのフィールドを選択するためのフェニックスはありますか?