2014-04-02 25 views
0

我試圖創建一個放置在其他網站(不是我的),並呈現我的網站的一部分的iframe。一切正常,但iframe(我的網站)的內容似乎沒有包含任何資產。我正在使用Rails 4.0.4。我認爲這是因爲application.html.erb未加載,因爲我只是渲染一個部分。Rails的部分iframe缺失資產

下面是IFRAME代碼:

<iframe src="<%= url_for controller: 'welcome', action: 'iframe' %>" scrollbars="auto" height="480" width="320" name="RiverOfNews"></iframe> 

這裏是相應的控制器方法:

def iframe 
    load_channels 
    render :partial => 'news' 
end 
+0

當你說資產http://guides.rubyonrails.org/layouts_and_rendering.html

閱讀上? 在這種情況下,您可能不想僅渲染局部視圖,而是使用包含「資產」但不包含其他佈局元素的特殊佈局顯示視圖。 – gernberg

+0

是的,我的意思是樣式表和JavaScripts。 iframe的內容看起來像純html一樣沒有任何內容。好吧,聽起來不錯,我該怎麼做? – Linus

+0

爲什麼你想在iframe中擁有自己的頁面?我希望這些時間現在結束。 – BroiSatse

回答

2

你的控制器然後將類似於:

class WelcomeController < ApplicationController 
    def iframe 
    load_channels 
    render :partial => "news", :layout => "iframe" 
    end 
end 

然後你創建一個名爲「_iframe.html.erb」(或.haml或您使用的任何內容)的新分解佈局您的資產和「收益」(如果您複製應用程序佈局並刪除不需要的部分,則很容易)。你的意思是樣式表和JavaScript的 - 如果需要,

+0

我照你說的做了,並在layouts文件夾中創建了「iframe.html.erb」,但我現在得到以下錯誤:'缺少局部佈局/ iframe {:locale => [:en],:formats => [ :html],:handlers => [:erb,:builder,:raw,:ruby,:jbuilder,:coffee]}。 – Linus

+0

您是否在文件夾「app/views」中創建了文件「iframe.html.erb」 /佈局「? – gernberg

+0

是的,我很確定,對嗎? – Linus