【问题标题】:ArgumentError in UserSteps#show. Wrong number of arguments (given 4, expected 0..3)UserSteps#show 中的参数错误。参数数量错误(给定 4,预期 0..3)
【发布时间】:2020-01-26 11:27:29
【问题描述】:

我正在处理用户注册,如果用户不想在我的表单的第二步中填写地址,我想给用户一个退出注册过程的机会。对于这种情况,我创建了一个“退出”按钮并在我的视图中定义了:

<%= link_to "Quit", @user, method: :delete, data: { confirm: "Your data won't be saved. Proceed?" },  class: 'btn form margin button-align' %>

这行得通,但我不喜欢我的警报窗口的样式,并找到了一些提示,如何更改它here。所以,我改变了我的观点如下(只是其中的一部分):

class="modal-title" id="myModalLabel"> Your data won't be saved! </h4>
          </div>
          <div class="modal-body">
            Are you sure you want to quit the registration process?
            <%= link_to "Yes", @user, root_path, method: :delete %>/
            <%= link_to "No", "javascript:void(0)",'data-dismiss': "modal" %>
          </div>
        </div>
      </div>
    </div>

...

<div class="column">
<%= link_to "Quit", "javascript:void(0)", 'data-target': "#myModal", 'data-toggle': "modal",  class: 'btn form margin button-align' %>
</div>

但它向我显示了上面的错误。怎么了?

【问题讨论】:

  • 尝试为'data-target': "#myModal", 'data-toggle': "modal" (link_to "Quit", "javascript:void(0)", { 'data-target': "#myModal", 'data-toggle': "modal" }, class: 'btn form margin button-allign') 添加{}
  • 它告诉我问题出在这里:
  • 你为什么要传递@user,然后传递root_path
  • 真的!现在这可行,但“是”和“否”不是链接。我无法点击模态框

标签: ruby-on-rails


【解决方案1】:

从 Rails 6 开始,使用 Rails-UJS 覆盖确认对话框很容易。在此处查看 PR:https://github.com/rails/rails/pull/32404

和我的同事,我们在这里做了一个示例提交:https://github.com/perangusta/one-day-in-rails6-world/commit/5134bb8ccd48bc37ff1dfccffb7e0801e63b0af8

您应该能够轻松地根据您的上下文调整代码。

【讨论】:

  • 谢谢!我用了这个link。它也很完美!
猜你喜欢
  • 2017-08-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-27
相关资源
最近更新 更多