القضبان السكان المحليين الجزئي لا يستمر عند إرسالها إلى جزئي آخر كحلي

StackOverflow https://stackoverflow.com/questions/1240321

سؤال

أعصت جزئيا مثل ذلك:

<%= 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 %>

كما هو موثق هنا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top