2015-07-20 30 views
0

我有一個控制器有一些功能和他們的意見。執行此操作後Rails沒有找到css文件

def register 
    @user = User.find(params[:id]) 
    @user.update_attributes(params[:user]) 
    if @user.register 
    if @user.mailcode_type == 'custom' 
     render :checkout 
    else 
     session[:user_id] = nil 
     render :thankyou 
    end 
    else 
    render :signup_first_step 
    end 
end 

Rails在渲染後未找到css文件。它在127.0.0.1:3000/register中查找它們。如果我轉到相同的頁面而不通過註冊,它會正確加載css文件。這些文件位於app/assets/stylesheet中。

這是我application.css:

*= require jquery.qtip.min 
*= require css3buttons/without-reset 
*= require magnific-popup 
*= require_self 
*= require_tree ./application 
+0

顯示你的'application.css'文件 – Prashant4224

+0

除非你有錯誤的配置,否則它不會在那條路徑上尋找css。在呈現的頁面上查看瀏覽器中的源代碼 - 像link link =「stylesheet」這樣的標籤在那裏? – thebenedict

+0

真的很有用,也有你的'views/layours/application.html.erb'文件 –

回答

1

這是因爲渲染是簡單地使用相同的堆棧(相同的內存對象),這就是爲什麼腳本沒有運行,那裏的重定向創建一個新對象。

使用,

redirect_to :checkout 

欲瞭解更多信息。 link

+0

這是不正確的。 'redirect_to'與運行腳本無關。 'redirect_to'啓動一個新的http請求,渲染不會。這兩種情況都沒有解決這個問題 – thebenedict

+0

在這裏,他想呈現查看頁面進行結賬,而無需執行操作。你的行動將採取行動。其次它是錯誤的。語法問題。 – Athar

+0

我的第一個解釋是理論上不正確,但「redirect_to」可以解決他的問題,也改變了解釋。 –