我在Rails应用程序中有一个帮助器,它根据控制器中设置的变量返回一些数据:
def title
base_title = "Unikernel"
if @title.nil? then
base_title
else
"#{base_title} | #{@title}"
end
end在控制器中(通常是在每个操作中),我设置了值,例如:
@title = "Solutions"现在,当我处理从表单提交中得到的一些结果时,如果出现问题,我会说:
render action: "edit"或
render "new"当我在呈现的页面上时,变量没有初始化,依此类推。
我应该如何处理这个问题?
发布于 2012-01-06 20:45:39
通常,当更新过程中出现错误时,您会发现自己处于更新操作中。当创建过程中出现错误时,您的错误消息将由create操作显示。您是否也在创建和更新操作中设置了变量?
def new
@title = "New page"
end
def create
@title = "Errors!"
end当您提交表单并收到错误时,您将从create操作中获取@title,如果您没有在create中设置它,则@title将为空。
当您调用render**,render**,时,您不会重定向到另一个操作,因此您仍然在** update**.**中。当您调用时,您不会重定向到另一个操作
https://stackoverflow.com/questions/8757740
复制相似问题