为什么Rails UJS忽略了我在数据参数中的参数

Why are my params in data-params ignored by Rails UJS?

本文关键字:参数 数据 Rails UJS 为什么      更新时间:2023-11-27

我有一个用点击处理程序更改`data params="save=autosave"的表单。我可以验证DOM的更改是在Chrome的开发工具中进行的。当我点击提交时,表单会很好地提交,但参数不会附加到请求中。

点击前:

<form accept-charset="UTF-8" action="/practice_scores/17" 
class="assessment__answer-form" data-params="save=normal" data-remote="true" 
id="edit_practice_score_17" method="post">
</form>

点击后:

<form accept-charset="UTF-8" action="/practice_scores/17" 
class="assessment__answer-form" data-params="save=autosave" data-remote="true"   
id="edit_practice_score_17" method="post">
</form>

日志:

Started PATCH "/practice_scores/17" for 127.0.0.1 at 2015-02-16 14:37:06 -0800
Processing by PracticeScoresController#update as JS
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"...", "practice_score"=>
  {"assessment_id"=>"1", "practice_id"=>"7", "context"=>"respondent", 
  "score_id"=>"33", "justification"=>"", "future_plan"=>""}, "id"=>"17"}

我很困惑为什么没有发送参数。在我的应用程序的另一个地方,我用JS响应更改了远程链接上的data-params,它就正确提交了。

为什么此表单上忽略data-params

根据驱动程序的源代码,不支持数据参数。所以这是行不通的。

我提交了一个pull请求来解决这个问题。