我在控制器的方法 -未定义的局部变量或方法错误
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