Rails / facebox_render - Ajax не определен (facebox всегда загружается ...) - PullRequest
0 голосов
/ 20 октября 2010

Я пытался сделать простой тест с facebox_render и rails 3.

Вот мои шаги:

1.) Установленный Jquery 1.4.2 (Jrails)

2.) Установлен плагин установить плагин rails git: //github.com/ihower/facebox_render.git

3.) И добавил следующие строки:

в моем application.html.erb

<head>
  <title><%= yield(:title) || "Untitled" %></title>
  <%= stylesheet_link_tag "reset", "application", "facebox" %>
  <%= javascript_include_tag :defaults, "facebox" %>
  <%= csrf_meta_tag %>
  <%= yield(:head) %>
</head>

и в моем application_controller

class ApplicationController < ActionController::Base
  include FaceboxRender
end

Когда я пытался загрузить что-то в фейсбокс, у меня только загрузчик, ничего не появляется ...

например, в моем доме / index.html.erb

<%= facebox_link_to "test", :url => "/images/rails.png" %> 

Мне было бы приятно узнать, где я ошибаюсь, в документе:

* facebox_link_to helper, it’s will launch loading facebox first, send ajax request second)
* link_to :remote => true, form_for :remote => true …etc Ajax helper (for Rails 3)

Так что я думаю, что застрял, чтобы отправить запрос ajax ..

После просмотра следующего сообщения: Как сделать так, чтобы всплывающее окно Facebox оставалось открытым, а содержимое внутри Facebox меняется после отправки . Кажется, у меня возникает та же проблема: я вижу "Ajax не определен" в консоли Firebug

Мои js-файлы, однако, правильно загружены: (как показывает исходный код)

<link href="/stylesheets/reset.css" media="screen" rel="stylesheet" type="text/css">
<link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css">
<link href="/stylesheets/facebox.css" media="screen" rel="stylesheet" type="text/css">
<script src="/javascripts/jquery.min.js" type="text/javascript"></script>
<script src="/javascripts/rails.js" type="text/javascript"></script>
<script src="/javascripts/facebox.js" type="text/javascript"></script>
<script src="/javascripts/application.js" type="text/javascript"></script>

Спасибо за любую помощь!

1 Ответ

1 голос
/ 26 октября 2010

я сначала установил facebox_render, а затем jRails.Возможно, вы захотите добавить --force, если переустанавливаете.

Убедитесь, что у вас установлена ​​последняя версия jQuery.Сначала включите jQuery, а затем facebox.js. Кроме того, я всегда проверяю, что facebox.css сначала связан с другими стилями, он может перезаписать некоторые из ваших стилей.И убедитесь, что вы используете FF через источник просмотра, работают ссылки js и css.

Кроме того, проверьте эту строку:

<%= facebox_link_to "Sign Up&nbsp;", :url => new_account_path, :method => :get %>

Я добавил: method =>: getчтобы убедиться, что он создает:

<a onclick="jQuery.facebox(function(){ jQuery.ajax({data:'authenticity_token=' + encodeURIComponent('Jbge/CYS4eXQ1d21E/S7tEcTm3dGdStdCtX9MwDx98o='), dataType:'script', type:'get', url:'/account/new'}) }); return false;" href="#">Sign Up&nbsp;</a>
...