因此,在我的Rails應用程序中,我在我的某個頁面上添加了錯誤消息。該過程是(所以每個人都明白)首先,在我的'編輯'link_to
我添加:remote => true
在它的末尾,因此它發送一個ajax請求。然後我在我的respond_to do |format|
區塊中添加了行format.js
。然後,我用下面一行代碼$('#error').html("<%= flash[:error] %>");
創建了一個edit.js.erb文件,該文件基本上在當前頁面中找到了錯誤div,並用該錯誤Flash消息替換了該div中的html。這很酷嗎?如果發生錯誤,不會再有惱人的頁面刷新。.js.erb文件可用於所有其他視圖?
問題是,我想爲我所有的編輯和銷燬頁面執行此操作,但是如何不爲每個視圖文件夾生成edit.js.erb和destroy.js.erb文件?似乎很簡單,也許我只是錯過了一個明顯的答案,因爲我筋疲力盡,但我無法弄清楚......所以...幫助?????
編輯!
這是我的編輯控制器
def edit
user = User.find(session[:id])
@table = Table.find(params[:id])
if user.id != @table.created_by
flash[:error] = "ERROR"
respond_to do |format|
format.js {render :template => 'shared/show_error'}
format.html
end
else
flash[:error] = ""
respond_to do |format|
format.js {render :template => 'table/edit', :formats => :html}
format.html
end
end
end
現在的問題是,它工作正常顯示的錯誤,但如果沒有錯誤,它不採取行動使編輯頁面...在服務器窗口就說明它確實,但它並沒有真正顯示在屏幕上......任何想法?
不要在'format.js'調用中放入':formats =>:html'。 – MrDanA
謝謝,但那不是修復:( – user1759942