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');
  });
});

しかし、ローディングアニメーションは機能しません。なにか提案を?私はレールと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 に答える