私のレールアプリケーションのボックスをカスタマイズする必要があります。私はthisを見つけ、私のapplication.jsにjsコードを追加しましたが、$ .railsは未定義です。ここで
は、私はapplication.jsファイルに追加したコードは次のとおりです。
$.rails.allowAction = function(link) {
if (!link.attr('data-confirm')) {
return true;
}
$.rails.showConfirmDialog(link);
return false;
};
$.rails.confirmed = function(link) {
link.removeAttr('data-confirm');
return link.trigger('click.rails');
};
$.rails.showConfirmDialog = function(link) {
var html, message;
message = link.attr('data-confirm');
html = "<div class=\"modal\" id=\"confirmationDialog\">\n <div class=\"modal-header\">\n <a class=\"close\" data-dismiss=\"modal\">Ã</a>\n <h3>Are you sure Mr. President?</h3>\n </div>\n <div class=\"modal-body\">\n <p>" + message + "</p>\n </div>\n <div class=\"modal-footer\">\n <a data-dismiss=\"modal\" class=\"btn\">Cancel</a>\n <a data-dismiss=\"modal\" class=\"btn btn-primary confirm\">OK</a>\n </div>\n</div>";
$(html).modal();
return $('#confirmationDialog .confirm').on('click', function() {
return $.rails.confirmed(link);
});
};
私はエラー「キャッチされない例外TypeError:未定義のプロパティ 『allowAction』を設定することはできません」を得ました。
あなたは何が間違っているのか分かりますか? (jquery_ujs宝石がインストールされ、正常にロードされる)
は、事前に
ありがとうJercoh
jquery-railsはすでにインストールされています。 – Jercoh
これはapplication.jsに入れていると言われているので、おそらくアセットパイプラインを使用していないと思われますので、スクリプトの読み込み順序を確認します。このものは一番下になければなりません。 –