我在控制器的方法 -未定義的局部變量或方法錯誤
def undo_link
view_context.link_to("undo", revert_version_path(@page.versions.scoped.last), :method => :post)
end
但是當我"#{undo_link}"
調用它的觀點。我得到了未定義的局部變量或方法錯誤 。
我到底做錯了什麼?
更新:在這裏,在控制器的還原方法
不錯,但那麼這是該還原方法我在控制器
def revert
@version = Version.find(params[:id])
if @version.reify
@version.reify.save!
else
@version.item.destroy
end
link_name = params[:redo] == "true" ? "undo" : "redo"
link = view_context.link_to(link_name, revert_version_path(@version.next, :redo => !params[:redo]), :method => :post)
redirect_to :back, :notice => "Undid #{@version.event}. #{link}"
end
是什麼讓你認爲你可以從視圖中調用任意控制器方法?也許你正在考慮創建一個幫手? – 2012-02-12 23:24:27
好吧,我試過了,但它弄亂了路線。 view_context給出了一個沒有方法的錯誤 – 2012-02-12 23:26:42
你不需要view_context n助手 – apneadiving 2012-02-12 23:27:50