2013-11-17 1 views
0

Я действительно новичок в веб-разработке (я начал свое «образование» около 3 месяцев назад) и совершенно новый для stackoverflow ... У меня проблемы с webapp, который я строил.Создание всего DIV, доступного при использовании Rails для отправки метода POST

Все, что связано с нижеследующим кодом, работает по назначению.

 <div class ="large-4 columns" span id="trait_list"> 
      <%= link_to "#{n.name} #{Trait.find(n.id).trait_user.first(:conditions => ["trait_id = #{n.id} AND user_id = #{current_user.id}"]).counter} Times" , counter_index_path(:trait_id => n), method: :POST %> 
     </div> 

Где (@usertrait = current_user.traits.all) в контроллере.

(counter_index_path) указывает на таблицу, в которой конкретный счетчик пользовательских признаков увеличивается на 1 в таблице trait_user. Я понимаю, что некоторые из приведенной выше коды должны быть размещены в контроллере ... но я просто не нашел способ сделать это еще правильно >^..^<

Проблема

Недавно коллега попросил, чтобы divs, которые содержат ссылки, также были интерактивными. Я нашел несколько решений .... первый из которых в том, чтобы добавить следующий код

CSS,

{ 
    position:absolute; 
    width:100%; 
    height:100%; 
    top:0; 
    left: 0; 

    /* edit: added z-index */ 
    z-index: 1; 

    /* edit: fixes overlap error in IE7/8, 
    make sure you have an empty gif */ 
    background-image: url('empty.gif'); 
} 

Что-то удаляет текст, который предположительно будет отображаться в DIV ...

JQuery

$(".myBox").click(function(){ 
    window.location.href="http://google.com"; 
    return false; 
}); 

Это приводит к тому, ссылки т o отправьте метод GET, когда мне нужен метод POST для отправки (для увеличения номера счетчика на 1) ...

Я не уверен, что на это уже был ответ, но я не был способный его найти. Помощь действительно приветствуется.^

Приветствия!

ответ

0

Попробуйте это:

$(".myBox").click(function(){ 
    var form = document.createElement("form"); 
    form.setAttribute("method", your_method); 
    form.setAttribute("action", your_path); 
    document.body.appendChild(form); 
    form.submit(); 
});