問題タブ [wicked-gem]

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

ruby-on-rails - Rails Wicked マルチステップ フォーム - パラメータが欠落しているか、値が空であるのに対し、許可されていないパラメータです

このチュートリアルに従って、Wicked gem を使用してマルチステップ フォームを作成しています。各 User には 1 つの Answer (一連の質問に対する回答を保存するモデル) があり、ユーザーが回答して Answer に保存された質問を順に処理する QuestionnaireController があります。これまでのところ、それぞれ 1 つの質問 (回答テーブルのブール列) を持つ 2 つのステップしかありません。ステップスルーして各質問に答えると、すべてが完全に機能しますが、値なしで送信すると、次のようになります。

param がないか、値が空です: 回答

私のコード...

answer.rb:

answer_controller.rb:

question_controller.rb:

step_one.html.erb:

routes.rb (確かに、私は ID をマスクするためにこれらでかわいくしようとしました。これを正しい方法で行うことを遠慮なく恥じてください):

オプションを選択して送信すると、データベースに保存されて次のステップにリダイレクトされますが、オプションを選択せず​​に送信すると、検証エラーが発生すると予想されたときに param is missing エラーが発生します。サーバーログから:

QuestionnaireController#update による HTML パラメーターとしての処理: {"utf8"=>"���", "authenticity_token"=>"J45sG/YIqTaBECgBqNLr9Ys3rJewDK78d/cKHWFHYEIzAaOiTXhgH6evPZKl5LhnSAMnQnA94CXonqriyj0fCQ==", "commit"=>"Save & Continue", "id" =>"step_one"}

require(:answer)からの削除を含む、いくつかの潜在的な修正を試みましたparams.require(:answer).permit(permitted_attributes).merge(current_step: step)。これにより、期待していた検証エラーが発生しますが、有効な値を保存できません。そのシナリオでは、サーバー ログに次のような検証エラーが表示されます。

::1 の PUT "/questionnaire/step_one" を 2016-12-08 23:26:14 +0545 で開始しました QuestionnaireController#update で HTML
パラメーターとして処理: {"utf8"=>"���", "authenticity_token"= >"RWAHfu0BE82ik6gTChh3nmtuyOUa5j0qiz4H03ejIkRR78jHVnHa5IQsvYAHLiQMqFpDMNrXc/MUV6cs3NldDw==", "answer"=>{"question_one"=>"true"}, "commit"=>"Save & Continue", "id"=>"step_one"} ...SQL. .. 許可されていないパラメーター: utf8、_method、authenticity_token、answer、commit、id

新人を助けてくれてありがとう。

更新: チュートリアル (ネストされた) に一致するようにルートを変更しましたが、これに関係がある可能性がある (つまり、回答 ID を取得していない可能性がある) と考えていますが、まだパラメーターが見つからないというエラーが発生しています。

次のように、送信前に hidden_​​field_tag を追加してみました。

しかし、私は得る:

未定義のメソッド「permit」 #

おそらく、強力なパラメーター宣言がハッシュを想定しているときに、hidden_​​field_tag が @answer.attributes を文字列として渡すためです。サーバーから:

PUT "/answers/46/questionnaire/step_one" for ::1 at 2016-12-12 13:25:19 +0545 QuestionnaireController#update による処理を HTML パラメータとして開始: {"utf8"=>"���", "authenticity_token"=>"wlLpKoMvqgyfwB5gyP/qubR4ZpZa6jm9KHeMuiwJTc6IOJZi9PgiSegvF+OzlN09ctEuxuxiAuRs+/B2InRGhA==", "answer"=>"{\"id\"=>46, \"user_id\"=>4, \"question_one\"=>nil , \"question_two\"=>nil, \"percentage_complete\"=>#, \"completed\"=>false, \"created_at\"=>Mon, 12 Dec 2016 02:12:31 EST -05:00 , \"updated_at\"=>Mon, 12 Dec 2016 02:12:31 EST -05:00}", "commit"=>"保存して続行", "answer_id"=>"46", "id"= >"第一歩"}

助けてください!

0 投票する
0 に答える
140 参照

ruby-on-rails - フォーム保存時の未定義メソッド

Wicked を使用して複数ページの Web フォームを作成しています。ただし、そのフォームで複数のテーブルを使用する必要があります。私は 1 つを使用して成功し、2 番目のテーブルのページがうまく表示されるようになりました。ただし、保存しようとすると、次のエラーが発生します。

私はしばらくそれをいじっていますが、成功していません。

私はたくさんのコードを持っていて、どこを見ればいいのか分からないので、この要点に重要なものを追加しました: https://gist.github.com/GroeGIT/f22bd079814df2c0acc8430c4db520a7

誰かがこれを手伝ってくれますか、それとも Wicked は異なるテーブルを持つ複数ページのフォームをサポートしていませんか?

ありがとう

モデル

コントローラー: 照会コントローラー:

ステップコントローラー:

問題のビュー:

0 投票する
0 に答える
195 参照

ruby-on-rails - Railsエラー:gemを削除した後、突然「paramが見つからないか、値が空です」

タスクを作成すると、特定のパラメーター データを送信するために ajax 関数が呼び出されます。それは非常にうまく機能していました。次に、「wicked_pdf」と「wkhtmltopdf-binary」をインストールしました。Windowsでこのツールに問題があることを知った後、「gem uninstall wicked_pdf/wkhtmltopdf-binary」を使用してそれらを削除しました。(私はすべての wicked_pdf 設定ファイルを手動で削除しました)。この後、新しいタスクを作成すると、Rails アプリケーション (Windows) で次のエラーが発生します: "param is missing or the value is empty: task". ajax コードを削除すると正常に動作しますが、以前とは異なります。

Ajax (非常にうまく機能していました):

コントローラー(動作していましたが、変更したことはありません):

そして、インデックスビューでは、これ<%= render 'form', task: @task %>を標準フォーム (値と送信、作成アクション付き) に部分的にしています。どうしたの?私はwicked_pdfを台無しにしましたか?

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

ruby-on-rails - Cocoon has_one 関連付けが Wicked Gem を使用して保存/更新時に壊れる - Rails

これに似た質問をいくつか見ましたが、Rails で Wicked マルチステップ フォーム Gem で Cocoon gem を使用することに関連するものはありません。has_many アソシエーションがある場合、フォームは正常に保存されますが、has_one アソシエーション (Client has_one doctor) がある場合、レコードは保存されてから削除されるようです。これを理解するのに非常に長い時間を費やしましたが、なぜそれが起こっているのかわかりません。

クライアント モデル:

ドクターモデル:

問題の部分を表示:

Doctor_fields:

ログ:

どんな助けでも大歓迎です!! 他に何か必要な場合はお知らせください。