問題タブ [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.
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"= >"第一歩"}
助けてください!
ruby-on-rails - フォーム保存時の未定義メソッド
Wicked を使用して複数ページの Web フォームを作成しています。ただし、そのフォームで複数のテーブルを使用する必要があります。私は 1 つを使用して成功し、2 番目のテーブルのページがうまく表示されるようになりました。ただし、保存しようとすると、次のエラーが発生します。
私はしばらくそれをいじっていますが、成功していません。
私はたくさんのコードを持っていて、どこを見ればいいのか分からないので、この要点に重要なものを追加しました: https://gist.github.com/GroeGIT/f22bd079814df2c0acc8430c4db520a7
誰かがこれを手伝ってくれますか、それとも Wicked は異なるテーブルを持つ複数ページのフォームをサポートしていませんか?
ありがとう
モデル
コントローラー: 照会コントローラー:
ステップコントローラー:
問題のビュー:
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を台無しにしましたか?
ruby-on-rails - Cocoon has_one 関連付けが Wicked Gem を使用して保存/更新時に壊れる - Rails
これに似た質問をいくつか見ましたが、Rails で Wicked マルチステップ フォーム Gem で Cocoon gem を使用することに関連するものはありません。has_many アソシエーションがある場合、フォームは正常に保存されますが、has_one アソシエーション (Client has_one doctor) がある場合、レコードは保存されてから削除されるようです。これを理解するのに非常に長い時間を費やしましたが、なぜそれが起こっているのかわかりません。
クライアント モデル:
ドクターモデル:
問題の部分を表示:
Doctor_fields:
ログ:
どんな助けでも大歓迎です!! 他に何か必要な場合はお知らせください。