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


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 %> بدلا من ذلك (مع =) يتم عرض جافاسكريبت في بداية كتلة جسدي بدلا من الرأس، ولكن لا يزال يتم استدعاء وظيفة التنبيه عند فتح الصفحة.

Question

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

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

أو

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

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

مع تحياتي،

سيباستيان