Rails3 Link_to: مع السمة؟
-
22-09-2019 - |
سؤال
أتساءل عما إذا كانت: مع السمة تمت إزالة من Rails3 لأنني لا أستطيع العثور على أي شيء في API Rails3 - http://rails3api.s3.amazonaws.com
أي شخص لديه أدنى فكرة أو يقدم تلميحًا حول كيفية استخدام: مع المعلمة لإرسال البيانات باستخدام link_to
مثال غير يعمل:
= link_to "Foo", {:action => "filter", :filter => "filter1",:with => "'test='+$('search').value"}, :remote => true, :class => "trash unselected", :id => "boo"
شكرًا!
المحلول
هذا يتعارض مع نقطة JavaScript غير الحليمية وهذا هو السبب في أنه تمت إزالته. حاول النظر إلى القضبان حول الموضوع هنا: http://railscasts.com/episodes/205-unobtrusion-javaScript
يجب أن تجرب طريقة أخرى للقيام بذلك.
نصائح أخرى
كنت أعاني من هذا اليوم ، وبعد فترة وجودي مع Little Hack in Rails.js. في طريقة HandlerEmote لقد غيرت هذا:
} else {
method = element.attr('data-method');
url = element.attr('href');
data = null;
}
الى هذا:
} else {
method = element.attr('data-method');
url = element.attr('href');
data = eval(element.attr('data-with'));
}
شكرًا على ذلك الآن ، يمكنني استخدام Link_to: عن بُعد مثل هذا:
<%= link_to "link", some_path, :remote => true, 'data-with' => "'address=' + $j('#office_address').val();" %>
ملاحظة: هذا صحيح فقط إذا كنت تستخدم jQuery ، ولكن لا ينبغي أن يكون من الصعب تطبيق هذا على النموذج الأولي
هناك طريقة للعمل من حوله.
استخدم هذا في العرض كمبدأ توجيهي:
link_to "Foo", {:action => "filter", :filter => "filter1"}, {:remote => true, :class => "trash unselected", :id => "boo", 'data-with' => "'&test='+$('search').value"}
(تم نقله: مع الجزء الثاني وجعلته "بيانات مع")
وأضف هذا إلى الأسفل:
<script type="text/javascript" charset="utf-8">
$$('a[data-remote=true]').each(function(a){
a.onclick = function(){a.setAttribute('href', a.getAttribute('href') + eval(a.getAttribute('data-with')))};
});
</script>
بالطبع ستحتاج إلى تحميل النموذج الأولي (في JavaScripts الافتراضي لتطبيق Rails)
لشيء أفضل من هذا الخط واحد: http://gist.github.com/451508
باستخدام جوهر لا تحتاج إلى البدء: مع مع & أو؟