Rails 3 - внешний анкер с Jquery - PullRequest
0 голосов
/ 27 июля 2011

У меня есть небольшое приложение для создания галереи / изображений, в которое я пытаюсь включить ajax с Jquery. Я начинаю с малого, превращая свои якорные метки в ajax. Прямо сейчас у меня есть ссылка на пагинацию и изображение, которое ссылается на внешний URL.

Прямо сейчас мои пагинационные ссылки работают с ajax, хотя моя ссылка image_link не откроет ее целевой URL. Мой индекс и частичный код следующие:

index.html.erb

<div id="galleries">
<%= render 'pictures' %>
</div>

и _pictures.html.erb:

<% @galleries.each do |g| %>
    <% for image in g.images %>
    <div id="picture">
      <%= render 'top_nav'%>

<!-- this is the link that does not work w/ ajax -->
      <%= link_to image_tag(image.file_url(:preview)), g.source, :remote => true, :target => "_blank" %> 

      <%= will_paginate(@galleries, :next_label => "Forward", :previous_label => "Previous") %>
    </div>

    <br />

    <div class="image_description">
      <h2>
      <%= g.title %>,
      <span class="time">
        <%= distance_of_time_in_words(g.created_at, Time.now, include_seconds = false)%> ago
      </span>
      </h2>
    </div>      
    <% end %>
<% end %>

Я полагаю, что я позволяю ajax захватить как ссылку на страницы, так и ссылку на внешнее изображение с помощью #picture a, вот мой javascript в application.js:

$(function() {
    $("#picture a").live("click", function() {
        $.getScript(this.href);
        return false;
    });
});

Мой index.js.erb выглядит следующим образом:

$("#galleries").html("<%= escape_javascript(render("pictures")) %>");

Для ссылки на разорванное изображение, вот какой HTML-код выводит:

<a target="_blank" data-remote="true" href="http://www.google.com">
<img src="/uploads/image/file/3/preview_Screenshot-2.png?1311699598" alt="Preview_screenshot-2">
</a>

Но когда вы нажимаете это, это ничего не делает. Я предполагаю, что он что-то делает, он рендерит картинки частично и снова, и не знает, как ссылаться извне, потому что я угнал функциональность link_to, и я говорю это в моем index.js.erb, чтобы сделать частичное снова и снова? В любом случае, мне нужна помощь в написании этой внешней ссылки в виде ajax-ссылки, так как я в конечном итоге хотел бы вызвать метод модели для обновления некоторых данных на избранных / связанных изображениях.

Спасибо

1 Ответ

0 голосов
/ 27 июля 2011

Похоже, вам не хватает символа: method в вашем link_to

<%= link_to "destroy", article_path(@article), :method => :delete, :remote => true %>

builds

<a href="/articles/1" data-method="delete" data-remote="true" rel="nofollow">destroy</a>

С Ненавязчивый Javascript в Rails 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...