問題タブ [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.
elixir - Elixir Phoenix のオプションの POST パラメーター
フォーム データを POST したい phoenix ルートがありますが、オプションのフォーム フィールドが約 4 つあります (フォームはエンド ユーザーによって作成されるため、これらのフィールドは POST ペイロードに存在しない場合があります)。
ルートの Phoenix コントローラーでは、これをどのように処理しますか?
例えば:
私のフォームは
また、フォームを POST する場合は、常に必要がありますField1
がField2
、他のフィールドの任意の組み合わせを使用できます。
したがって、これまでのコントローラーコードは次のようになります。
他の 3 つをオプションにするにはどうすればよいですか? それらをすべて追加すると、それらが必要になり、送信された可能性のあるフォームごとに関数を作成する必要はありません。
elixir - ExUnit テストでワーカーへの呼び出しをスタブ化 (または実行を防止) する方法は?
私はPhoenixアプリ(フロントエンドのない単なる安らかなAPIです)を持っていて、コントローラーの1つがテストしたいことをしますが、コントローラーの最後で、ペイロードをワーカーに送信するディスパッチャーを呼び出します(poolboy の下で実行) を使用して、受信したペイロードをバックグラウンドで処理します。
私のコントローラー テストでは、ワーカーが行っていることを実際にテストしたくはありません。ワーカーのディスパッチャーが正しいペイロードで呼び出されたことを知りたいだけです (例、 calledWith() )。
そして理想的にはディスパッチャー関数はスタブ化されるため、実際のものが実行されることはありません。
ディスパッチャに追加のパラメータを渡して、ワーカ上でコードが実行されないようにすることもできますが、それは非常に厄介なように見えますが、スタブはアイデアのようです。
ありがとう
編集
ディスパッチャ コード:
テストのモック:
ruby-on-rails - Phoenix での Rails の before_filter に相当するもの
最初の Phoenix アプリの作業を開始したばかりですが、問題は、コントローラーのすべてのアクションに共通のコード行がいくつかあることです。これを分離したいと考えています。複数の Ecto モデルからデータを取得し、変数に保存して使用します。
before_filter
Rails では、単純にメソッドを定義し、それをコントローラーで使用して呼び出すことができました。から結果にアクセスできました@variable
。使用が鍵であることは理解してPlugs
いますが、これを達成する方法、より具体的には不明です。
params
からのリクエストへのアクセスPlug
- アクションで変数にアクセスできるようにする
参考までに、これは私がやろうとしていることのレールバージョンです:
ありがとう!
elixir - Phoenixサーバーの実行中にコントローラーに何かを記録する方法は?
サーバーの実行中に、Phoenix アプリのコントローラーの 1 つからデバッグ情報を出力しようとしています。
elixir - Phoenix テンプレートのフィールドを選択
Phoenix
次のようなフォームで使用できる便利な Railsy ヘルパーがいくつか提供されていることは知っています。
text_input
number_input
date_select
- と
submit
select
しかし、フィールド用のものが見つかりません。Phoenix Docsを検索しましたが、何も見つかりませんでした。
私の質問は、helper
フォームのフィールドを選択するためのフェニックスはありますか?