0

我有一个用户列表,我希望管理员通过一个按钮向这些用户发送密码。所以我看到了引导按钮 javascript 插件,我使用了加载插件。

这是 index.html

<table>
<% @users.each do |user| %>

<td>
 <dl>
  <dt><%= user.name %></dt>
 </dl>
</td>

<td><%= link_to 'show', admin_user_path(user.id) %></td>
<td><%= button_to 'Send password', send_mail_path(user.id), remote: true, class: "btn btn-primary", :form => {:"data-loading-text" => "wait ..."}   %></td>

<% end %>
</table>

以这个 html 结尾:

<table>

<tbody>
 <td>
  <dl><dt>Jonh</dt></dl>
 </td>

 <td><form method="post" data-remote="true" data-loading-text="attendi ..." class="button_to" action="/admin/users/send_mail/26">
   <div><input type="submit" value="send password" class="btn btn-primary">
     <input type="hidden" value="bLGRJ1j9Hv75PsN4fuma0NlmYwAbS//1l884ShOotcw=" name="authenticity_token"></div>
   </form></td>

在 admin assets/javascript/admin/users 我有index.js.erb

$('.btn').button();

$(document).ready(function(){
  $('.btn').click(function() {
    $(this).button('loading');
  });
});

但是加载动画不起作用。有什么建议吗?我对 rails 和 jquery 都很陌生

4

1 回答 1

4

你用的是什么版本的 Rails?如果您使用的是 Rails > 3.2(带有资产管道),我鼓励您检查该文件assets/javascript/admin/users是否实际加载到您的主 javascript 文件和页面中。

在浏览器中打开页面,检查源代码并查看您创建的 JavaScript 代码是否已加载/链接到页面的标题部分。另外,我不确定您为什么使用js.erb扩展程序。

您可以简单地使用assets/javascript/admin/users/index.js. 或者更简单,在不需要时避免过多的子文件夹。创建/assets/javascript/admin.js并确保/assets/javascripts/application.js文件包含它。

关于视图,如下代码

<td><%= button_to 'Send password', send_mail_path(user.id), remote: true, class: "btn btn-primary", :form => {:"data-loading-text" => "wait ..."}   %></td>

可以简化为

<td><%= link_to 'Send password', send_mail_path(user.id), remote: true, class: "btn btn-primary", data: { "loading-text" => "wait ..." } %></td>

无需使用button_to或表格。

于 2012-06-28T12:28:55.937 回答