我尝试使用facebox_render和rails 3进行简单的测试。
以下是我的步骤:
1。)已安装Jquery 1.4.2(Jrails)
2.。)安装了插件 rails plugin install 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
当我尝试在facebox中加载某些内容时,我只有加载器,没有任何内容......
例如,在我的家/ 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请求..
看了下面的帖子:How to make facebox popup remain open and the content inside the facebox changes after the submit似乎我遇到了同样的问题:我可以在你的firebug控制台中看到“Ajax未定义”
我的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>
感谢您的帮助!
答案 0 :(得分:1)
我做的是先安装facebox_render,然后再安装jRails。如果要重新安装,可能需要添加--force。
确保您拥有最新的jQuery。首先包括jQuery然后是facebox.js 此外,我总是确保facebox.css首先链接到其他样式之前,它可能会覆盖您的一些样式。并验证您是否通过查看源使用FF,js和css链接正在运行。
此外,请验证此行:
<%= facebox_link_to "Sign Up ", :url => new_account_path, :method => :get %>
我添加了:method =&gt; :确保它创建:
<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 </a>