পাতলা গতিশীল শর্তসাপেক্ষ শ্রেণি [বন্ধ]


101

কেবল অন্য বিকাশকারীদের সহায়তা করার জন্য, কারণ এসও তেমন কোনও প্রশ্ন নেই।

div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)

উত্তর:


145

নীচের উদাহরণগুলি দেখুন:

div class=(is_active? ? 'active' : 'inactive')
div class=('active' if is_active?)

একই বৈশিষ্ট্যটি অন্যান্য বৈশিষ্ট্যে গতিশীল মান নির্ধারণ করতে ব্যবহার করা যেতে পারে।


4
একাধিক শর্তের জন্য আপনি কীভাবে এটি করবেন?
ম্যাক্সিম জুবরেভ 24'14

আপনার উত্তরের মন্তব্যগুলিতে নীচে দেখুন।
সের্গেই আলেক্সিভ

4
এটি কোনও শ্রেণি সংযোজন করতে পারে, যেমন: div.councilor class=(councilor.retired? ? "retired" : "") উত্পন্ন:div.councilor.retired
টেরা অ্যাশলে

20

তালিকায় ক্লাস অন্তর্ভুক্ত করার প্রয়োজন না থাকলে আমি ক্লাস এবং শূন্য উপাদানগুলির অ্যারে ব্যবহার করি, তারপরে নীল উপাদানগুলি সরাতে এবং শেষ পর্যন্ত সমস্ত একসাথে যোগদানের জন্য কমপ্যাক্ট অ্যারে।

div class=(["cday", "col-md-1", day.day == 1 ? "col-md-offset-#{day.cwday-1}" : nil].compact.join(' '))

12

আপনার যদি একাধিক শর্ত থাকে তবে আমি এখনই কিছু করছি

div class=(('foo ' if is_foo?) + ('bar' if is_bar?))

যদিও আমি এটা দোষ বলে মনে করি তবে কি হয়? মিথ্যা ফেরত দিন এবং উত্পন্ন এইচটিএমএল ফলাফল

<div class="foo "></div>

(দোষের পরে ফাঁকা অক্ষর foo)। কারও কাছে যদি এর সমাধান হয় তবে তা দুর্দান্ত।


7
ব্যবহার করে দেখুন String#rstrip2 অবস্থার সঙ্গে এই ক্ষেত্রে: div class=((('foo ' if is_foo?) + ('bar' if is_bar?)).rstrip)। বা div class=([('foo' if is_foo?), ('bar' if is_bar?)].compact.join(' '))বেশ কয়েকটি শর্তের জন্য।
সের্গেই আলেক্সিভ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.