القضبان السكان المحليين الجزئي لا يستمر عند إرسالها إلى جزئي آخر كحلي
-
11-09-2019 - |
سؤال
أعصت جزئيا مثل ذلك:
<%= render :partial => 'widgets/some_partial, :locals => {:foo => 'bar'} %>
حتى داخل _some_partial.html.erb
أقدم جزئيتين آخرين مثل:
<% #foo.nil? #=> false %>
<%= render :partial => 'widgets/another_partial', :locals => {:foo => foo} %>
`<%= render :partial => 'widgets/another_partial_again', :locals => {:foo => foo} %>`
فو المتغير المحلي يجعل غرامة في some_partial.html.erb
وحتى في another_partial_again.html.erb
. وبعد ومع ذلك، يتعذر الوصول إلى متغير FOO another_partial.html.erb
على الرغم من أنني مرت به صراحة في دعوة Render.
ماذا يحصل هنا؟
شكرا للمساعدة.
المحلول 2
تم حلها. اتضح أنني كنت أجد نفس الجزئي من وحدة التحكم دون إرسال المتغيرات المحلية المناسبة. شكرا على اية حال!!!
نصائح أخرى
كان لدى ال undefined local variable or method
خطأ في الخروج بالنسبة لي أيضا عندما كنت أجد جزئيا :locals
معرف.
ومع ذلك، كان لدي مشكلة مختلفة تسبب مشكلتي، لذلك اعتقدت أنني سأشارك حلاي في حالة مساعدة أي شخص آخر. (هذه الصفحة كانت النتيجة الأولى عندما غوت هذا الخطأ بعد كل شيء)
أساسا فقط تأكد من استخدام :partial => 'path/to/partial'
في مكالمتك إلى render
.
بمعنى آخر
<%= render :partial => 'widgets/some_partial', :locals => {:foo => 'bar'} %>
ليس مثل كنت تفعل:
<%= render 'widgets/some_partial', :locals => {:foo => 'bar'} %>
من السهل على القضبان / روبي مبتدئ مثلي لملكة جمال.
صدم هذا السؤال القديم جدا لأنني واجهت نفس المشكلة. اتضح أنه مع القضبان 4+ إذا كنت لا تستخدم مجموعات أو تخطيط الطريقة الصحيحة هي:
# Instead of <%= render partial: "account", locals: { account: @buyer } %>
<%= render "account", account: @buyer %>
كما هو موثق هنا.