ما هو أنظف وسيلة لإضافة سمة فئة إلى عنصر HTML في طريقة عرض في القضبان

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

سؤال

وأنا أكتب بعض التعليمات البرمجية القضبان لنظرة جزئية، وأريد أن تظهر فقط حقل تعليق إذا تم تسجيل شخص بالفعل على موقع هنا.

إذا عرض الصفحة من قبل شخص ليس عضوا في الموقع حتى الآن، يجب أن ينتقل جزء shared/comment_not_logged_in في.

ولكن، أنا الحيرة تماما لماذا لا يمكنني تشغيل نفس الاختيار ليقرر إذا كانت الصفحة يجب إضافة سمة فئة "missing_your_voice" لتضم عنصر div هنا:

   <li class="user_submission_form bubble comment_form <% "missing_your_voice" if not current_user %>">

      <% if current_user %>      
        <%= image_tag(current_user.avatar(:comment), :class => "profile_pic") %>
        <% form_for [parent, Comment.new] do |f| %>
        <%= render "comments/form", :f => f %>
        <% end %>
      <% else %>
        <%= render :partial => 'shared/comment_not_logged_in' %>
      <% end %>

  </li>  

ونفس المصطلح، "missing_your_voice" if not current_user إرجاع سلسلة في الاتحاد الدولي للرجبي، وأيضا في المصحح وحدة التحكم.

وماذا أفعل الخطأ هنا؟

هل كانت مفيدة؟

المحلول

وكنت قد نسيت ل=. استبدال <% التي كتبها <%=، بحيث يمكنك الحصول على:

<%= "missing_your_voice" if not current_user %>

وتذكر أن <% ... %> سيتم تشغيل فقط كود روبي، ولكن لا يتم عرض أي شيء. باستخدام <%= ... %> سيتم تشغيل رمز <م> و عرض نتيجة التعبير.

نصائح أخرى

وكما molf سبق أن ذكرنا، هناك مفقود = على وجهة نظركم.
يجب <%= ذلك.

وبخلاف ذلك، والتأكد من أن طريقة التحكم الخاصة بك متاحة للعرض من خلال الاتصال <لأ href = "http://api.rubyonrails.org/classes/ActionController/Helpers/ClassMethods.html#M000513" يختلط = " نوفولو noreferrer "> helper_method في وحدة التحكم الخاصة بك.

ونلقي نظرة على وثائق إذا لزم الأمر.

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