আমি কীভাবে কিছু এইচটিএমএল রুবি কোডের আশেপাশে লিঙ্ক_ মোড়ক করব?


116

আমি কীভাবে ভিউ কোডের চারপাশে একটি লিঙ্কটি গুটিয়ে রাখতে পারি? আমি একা link_toপদ্ধতিতে রুবি কোড সহ একাধিক লাইন কীভাবে পাস করব তা আমি বুঝতে পারি না । আমি যে ফলাফলটির সন্ধান করছি তা হ'ল আপনি কলামটি ক্লিক করেন এবং শো পৃষ্ঠাটি পান:

<div class="subcolumns">
  <div class="c25l">
        <div class="subcl">
        <%= image_tag album.photo.media.url(:thumb), :class => "image" rescue nil  %>
        </div>
    </div>
  <div class="c75r">
        <div class="subcr">
            <p><%= album.created_at %></p>
            <%= link_to h(album.title), album %>
            <p><%= album.created_at %></p>
            <p><%= album.photo_count %></p>
        </div>
  </div>
</div>

উত্তর:


270

link_to কোডের একটি ব্লক নেয় (> = রেল ২.২) যা এটি ট্যাগের মূল অংশ হিসাবে ব্যবহার করবে।

তুমি যা কর

<%= link_to(@album) do %>
  html-code-here
<% end %>

তবে আমি নিশ্চিত যে divকোনও aট্যাগের অভ্যন্তরে বাসা বাঁধতে বৈধ এইচটিএমএল নয়।

সম্পাদনা: =আমিন আরিয়ানার নীচে মন্তব্য অনুসারে যোগ করা চরিত্র।


17
এই মন্তব্যটি কেবলমাত্র একটি রেফারেন্স: <a> <div> </div> </a> এইচটিএমএল 5 তে বৈধ, তবে পূর্ববর্তী এইচটিএমএল স্প্যাসগুলিতে নয়। অনুরূপ প্রশ্নের জন্য stackoverflow.com/questions/796087/make-a-div-into-a-link দেখুন ।
— চকনসেলসন

উপরের সিনট্যাক্সটি ব্যবহার করে রেলগুলি ২.৩.৮ এখনও "সিনট্যাক্স ত্রুটি, অপ্রত্যাশিত") '"পাচ্ছে।
— daedelus_j

আপনার যদি আরও জটিল পথ থাকে তবে আপনি কেবলমাত্র প্যারামিটারগুলিতে যুক্ত করতে পারেন, প্রাথমিক সামগ্রীটি অনুপস্থিত, উদাহরণস্বরূপ <% = লিঙ্ক_ কোনও_পথ, পদ্ধতি::%%>
— ওব্রোমিওস

13

এছাড়াও, এটি কারও কারও জন্য একটি সমস্যা হতে পারে:

আপনি <%=যদি এর পরিবর্তে কোডের সাথে একটি সাধারণ লিঙ্কটি করছেন তবে লিখতে ভুলবেন না<% ।

যেমন

<%= link_to 'some_controller_name/some_get_request' do %>
  Hello World
<% end  %>

আমি মনে করি এটি
— 223

8

পুরানো রেল সংস্করণগুলির জন্য, আপনি ব্যবহার করতে পারেন

<% content_tag(:a, :href => foo_path) do %>
  <span>Foo</span>
<% end %>


-2

এই জবাবটি সম্পর্কে আমি কিছুটা পিছিয়ে পড়েছি আমি জানি - তবে আমাকে আজ এখানেই পরিচালিত করা হয়েছিল, এবং কোনও ভাল উত্তর খুঁজে পেল না। নিম্নলিখিত কাজ করা উচিত:

<% link_to raw(html here), @album %>

5
এটি ভিতরে ব্যবহার করা উচিত নয় কারণ সমস্ত অভ্যন্তরীণ এইচটিএমএল rawXSS প্রবণ।
— অরিলিল

অগত্যা নয়, এটি হতে পারে যে আপনার নিজের অ্যাপ্লিকেশনের মধ্যেই কোথাও এইচটিএমএল তৈরি হচ্ছে যা আপনি জানেন নিরাপদ। তবুও, 99% পরিস্থিতিতে এটি এড়ানো ভাল। (উপরের কোডটি যেভাবেই হোক ভুল হয়েছে তা উল্লেখ না করে, এটি দিয়ে শুরু করা উচিত <%=, নয় <%।)
— GMA

সেরা উপায় নয়। এখানে এইচটিএমএল আপনার নিজস্ব অ্যাপ্লিকেশন দ্বারা উত্পাদিত করতে হবে এবং সুরক্ষিত হতে হবে তা নিশ্চিত করা উচিত। উপরের উত্তরের আরও ভাল উপায় আছে।
— জোশুয়া ডান্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.