jquery استدعاء وظيفة القضبان من مسج؟


1 Answers

changelog: ثكس الكثير لإجابتك.

تم حل المشكلة الموضحة أسفل السطر <%= yield :myjs %> في علامات جافا سكريبت المناسبة كما يلي:

<script type="text/javascript">
<%= yield :myjs %>
</script>

شكرًا لك مرة أخرى!!

حاولت تنفيذه بالطريقة التي قلت بها، لكنني أواجه بعض الصعوبات:

أضع كتلة content_for التالية في الجزء العلوي من my.html.erb:

<% content_for :myjs do %>
jQuery(document).ready(function($) { alert('hello'); });
<% end %>

في بلدي layout.html أضم جميع جافا سكريبت كما يلي (هنا apps.js بتنفيذ بعض وظائف مسج العامة):

<head>
...
<%= javascript_include_tag 'jquery', 'application' %>
<%= javascript_tag "var AUTH_TOKEN = #{form_authenticity_token.inspect};" if protect_against_forgery? %>
<% yield :myjs %>
</head>
<body>
...

المشكلة هي أن جافاسكريبت الخاص بي لا تظهر في مصدر الصفحة عندما أسميها. أيضا لا يتم استدعاء وظيفة التنبيه. عند وضع <%= yield :myjs %> بدلا من ذلك (مع =) يتم عرض جافاسكريبت في بداية كتلة جسدي بدلا من الرأس، ولكن لا يزال يتم استدعاء وظيفة التنبيه عند فتح الصفحة.

jquery ruby-on-rails

هل من الممكن إلى حد ما استدعاء وظيفة القضبان أو الوصول إلى كائن القضبان من داخل مسج؟ أود أن أفعل شيئا مثل:

jQuery(document).ready(function($) {
$('#mydiv').html("<%= @object.name %>");
});

أو

jQuery(document).ready(function($) {
$('#mydiv').html("<%= render :partial => "contacts" %>");
});

في هذه اللحظة أنا حفظ جميع الاشياء مسج بلدي في بلدي application.js، التي يتم تضمينها في تخطيط بلدي. أوه نعم .... وأنا لا تستخدم القضبان حافة.

مع تحياتي،

سيباستيان



Related