2013-06-25 4 views
20

У меня есть большой DIV:Как сделать DIV с Rails Link кликабельным?

.limeskin:hover { 
    background: #eee; 
    cursor: pointer; 
    display: block; 
} 

, что я хочу быть интерактивными. Так как я использую Rails мне нужно иметь ссылку Rails быть интерактивными: Например

<%= link_to 'Edit Your Email Address', edit_user_path %> 

Я изо всех сил на это.

Вот весь блок:

<% @user.posts.each do |post| %> 
    <div class="lists"> 
     <ol class="limeposts"> 
     <li> 
     <div class="limeskin"> 
      <div class="limebox"> 
      <div class="limecost"> 
       <b>Price:</b> 
       <%= number_to_currency(post.price, :unit => "R") %><br> 
       [...] 
<% end %> 

Все простые юридические работоспособные ответы?

Благодаря

ответ

47

link_to может принять блок:

<%= link_to root_path do %> 
    <div>Hey!</div> 
<% end %> 

Это будет окружать DIV с <a> тегами.

Документация: http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

Или если у вас есть большой ДИВ и хотите, чтобы сделать его "кликабельны", с помощью JQuery:

# html.erb 
<div class="limeskin"> 
    <div class="limebox"> 
    <div class="limecost"> 
     <b>Price:</b> 
     <%= number_to_currency(post.price, :unit => "R") %><br> 
     #[...] 
    </div> 
    </div> 
</div> 

# jQuery.js 
$('.limeskin').click(function(event) { 
    var clicked_div = $(this); 
    # do stuff with the event object and 'this' which 
    # represent the element you just clicked on 
}); 

jsFiddle: http://jsfiddle.net/Lxw34w5o/1/

+0

Привет, спасибо, что делает limeface и limcost Div содержание кликабельным, но ничего. Я хочу, чтобы весь блок (см. Таблицу стилей добавлен) для того, чтобы линзовый линк был доступен для кликов. –

+0

Хорошо, дайте мне секунду я выложу решение с JQuery – MrYoshiji

+0

Просто обновил свой ответ @ErinWalker – MrYoshiji

1

Использование Javascript (я рекомендую JQuery), чтобы сделать действие действительно, и селектор CSS hover для изменения фона div и курсора (чтобы изменить курсор со стрелки на ручку).

1

Использование LINK_TO как ниже будет достаточно, даже если у вас есть большой блок, включающий в нескольких тегов:

<%= link_to desired_path do %> 
    <div class="linkable"> 
     <another div> 
      ... some other tags 
     </another div> 
    </div> 
<% end %> 

и я рекомендую вам использовать различные цвета фона для мыши над событиями, потому что он показывает зрителю, что это ссылка!

В вас .css файле:

.linkable:hover{ 
    background-color: red; 

} 
+0

Когда я делаю это в моем index.html.erb файл строки на самом деле просто не отображается на всех. Вы знаете, что может вызвать это? –

+0

@AbbeyJackson Проверьте код и не забудьте использовать <% = не <% –

+0

Да я скопировал его прямо здесь, чтобы быть уверенным, –

Смежные вопросы