簡體   English   中英

Rails Helper link_to有關類的問題

[英]Problems with rails helper link_to concerning class

我在使用滑軌時遇到困難。 實際上,我寫了以下幾行:

<%= link_to :controller => "offers", :action => "get_offer", :offer_slug => offer.friendly_id, {:class => "media"} do %>

<% end %>

我的問題是,link_to內部的所有內容都獲得了超鏈接的css效果(沒有填充,懸停時會加下划線),而不是自定義屬性。

就像:class屬性沒有被考慮在內。

以防萬一,這是整個部分:

 <<%= link_to :controller => "offers", :action => "get_offer", :offer_slug => offer.friendly_id, {:class => "media"} do %>

                        <li id="<%= offer.id %>" class="media" style="border: 1px solid #696969">
                          <div class="col-lg-3" style="margin-bottom:0px; font-size:12px; text-align:center; margin-right:10px;">

                            <% if offer.subcategory.nil? %>
                                <img class="media-object" src="<%= asset_path "other-icon.png" %>" style="margin-bottom:5px;">
                            <% elsif offer.subcategory.category.icon.empty? %>

                            <% else %>
                                <img src="<%= asset_path offer.subcategory.category.icon %>" style="margin-bottom:5px; width:110px;">
                            <% end %>

                            <br/>

                            <% if offer.subcategory.present? %>
                                <b><%= offer.subcategory.category.name %></b><br/> <%= offer.subcategory.name %>
                            <% else %>
                                <b>Autres</b><br/> <%= offer.subcategory_other %>
                            <% end %>

                          </div>

                          <div class="media-body">
                            <!--Titre annonce + type contrat-->

                            <div style="text-align:right; margin-bottom: 10px;">
                              <% if offer.id >= @new_limit %>
                                  <span class="label label-warning">New</span>
                              <% end %>
                              <span class="label label-success"><%= (offer.max_price * 0.85).ceil %> euros</span>
                              <span class="label label-success" style="background-color: grey"><%= (offer.customer_objective) %>
                                succès </span>
                            </div>
                            <h4 class="media-heading">
                              <%= raw(offer.name) %>
                            </h4>


                            <p>
                              <% if offer.description %>
                                  <%= offer.description.split[0..60].join(" ") %>

                                  <% if offer.description.split[0..60].count >= 59 %>
                                  <% end %>

                              <% end %>
                            </p>

                            <% if offer.company_context.present? %>
                                <p>
                                  <%= offer.company_context.split[0..60].join(" ") %>
                                  <% if offer.company_context.split[0..60].count >= 59 %>
                                  <% end %>
                                </p>
                            <% end %>

                          </div>

                          <div class="offer-tags">
                            <% offer.offer_tags.each do |offer_tag| %>
                                <span class="badge"><%= offer_tag.tag.name %></span>
                            <% end %>
                          </div>
                        </li>
                    <% end %>

嘗試用花括號將類包裝起來:

<%= link_to :controller => "offers", :action => "get_offer", :offer_slug => offer.friendly_id, { :class => "media" } %>

Rails的link_to幫助程序非常靈活,並允許一些不同的調用簽名,這可能導致混亂。 您需要這個:

link_to(body, url_options = {}, html_options = {})

如果沒有大括號,Rails不清楚:class實際上是HTML選項。

文檔在這里 我應該提一下,我也放棄了您的尾隨do ,這意味着一個似乎沒有的塊(也不需要)。

更新

我不明白該塊旨在用作鏈接正文。 在這種情況下,正確的呼叫簽名將是:

link_to(options = {}, html_options = {}) do
  # name
end

因此,您的身體很好,但是在link_to ,您想要對URL選項和HTML選項進行分組。 另外,我認為您可能需要在整個通話中加上括號才能使其正常工作:

<%= link_to({ :controller => "offers", :action => "get_offer", :offer_slug => offer.friendly_id }, { :class => "media" }) do %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM