2012-03-23 16 views
3

我有一個跟蹤/取消關注按鈕的Rails 3應用程序。Rails 3 AJAX關注按鈕不同的控制器

表格_follow.html.erb_unfollow.html.erb位於控制器A中。控制器B具有實際的創建和銷燬方法(它是關係的中心)。因此,與follow和unfollow關聯的create.js.erbdestroy.js.erb位於控制器B的視圖文件夾中。

Ajax代碼看起來是這樣的:當我的東西,如<p>Testing</p>更換render A/follow $("#followform").html("<%= escape_javascript(render 'A/follow') %>")

代碼工作,但無法呈現部分與上面的代碼。

以這種方式不可能從外部控制器渲染視圖嗎?我檢查了Rails Guide,他們似乎表明它是。那麼,有沒有人知道這裏的問題?

任何幫助非常感謝!

+1

檢查你的JS錯誤控制檯,看看你得到一個不好的迴應。 (Chrome中的「Network」非常棒,我聽說Firebug也有一個網絡監視器) – 2012-03-23 22:04:15

+0

是的,它表示「內部服務器錯誤500」在我點擊按鈕之後,這似乎表明它無法找到部分。但是,如果它存在(並且按鈕的功能正常),爲什麼會發生這種情況? – Justin 2012-03-23 22:06:49

+0

你使用了哪個控制檯?如果您在Chrome中點擊該響應,然後點擊預覽標籤,則可以看到實際的錯誤。 – 2012-03-23 22:30:42

回答

0

聽起來像問題是你的partials沒有得到他們需要的所有信息,比如你在partial中沒有設置實例變量,或者是一個局部變量。

檢查你的部分中的所有變量,並確保它們被設置在鏈的某個位置。

如果您發佈了提供部分代碼和部分代碼本身的實際控制器操作,那麼我們可能會提供更多幫助。