0

给定以下视图代码,如果用户没有单击“添加 WO 附件”按钮 - 假设他们点击了取消。应该 flash[:workorder_id]为零吗?

<div class="tab-pane" id="tabs-8">
  <%= render 'filtered7' %>
  <% if @workorder.not_closed? %>
      <%= link_to 'ADD WO Attachment', new_attachment_path, :class => 'btn btn-primary', :onclick => flash[:workorder_id] = @workorder.id %>
  <% end %>
</div>

我相信即使他们没有点击按钮,它也会被设置。这对我来说似乎是错误的。

4

2 回答 2

1

onclick属性需要包含由客户端执行的 JavaScript。如果你需要设置一个 flash 消息,你需要发出一个请求,这不是这样做的。

如果为 1,这将具有添加onclick="1"到您的 HTML的效果,但由于您强制分配的方式,它也将设置而不管被单击。@workorder.idflash

如果您需要flash有条件地设置,则需要在任何句柄中进行该分配new_attachment_path,大概newAttachmentsController.

于 2013-05-02T19:19:07.380 回答
0

onclick 期望在您单击链接时将运行的 javascript 代码。

您需要在后端设置 flash,它会在页面刷新时显示。您可以对您的操作进行远程调用,该操作设置 Flash 并呈现更新 Flash 显示位置的 JavaScript。

于 2013-05-02T19:21:45.790 回答