0

facebox_renderとrails3を使用して簡単なテストを試みました。

これが私のステップです:

1.)インストールされたJquery 1.4.2(Jrails)

2.)プラグインレールプラグインインストール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

フェイスボックスに何かをロードしようとすると、ローダーしかなく、何も表示されません...

たとえば、私のhome / 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リクエストを送信するのに行き詰まっていると思います。

次の投稿を見た後:フェイスボックスのポップアップを開いたままにし、送信後にフェイスボックス内のコンテンツを変更する方法同じ問題があるようです:ファイアバグコンソールに「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>

助けてくれてありがとう!

4

1 に答える 1

1

私がしたことは、最初に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>
于 2010-10-26T09:30:29.633 に答える