首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在不丢失变量值的情况下呈现其他视图

在不丢失变量值的情况下呈现其他视图
EN

Stack Overflow用户
提问于 2012-01-06 20:22:32
回答 1查看 201关注 0票数 0

我在Rails应用程序中有一个帮助器,它根据控制器中设置的变量返回一些数据:

代码语言:javascript
复制
def title
    base_title = "Unikernel"
    if @title.nil? then
        base_title
    else
        "#{base_title} | #{@title}"
    end
end

在控制器中(通常是在每个操作中),我设置了值,例如:

代码语言:javascript
复制
@title = "Solutions"

现在,当我处理从表单提交中得到的一些结果时,如果出现问题,我会说:

代码语言:javascript
复制
render action: "edit"

代码语言:javascript
复制
render "new"

当我在呈现的页面上时,变量没有初始化,依此类推。

我应该如何处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-06 20:45:39

通常,当更新过程中出现错误时,您会发现自己处于更新操作中。当创建过程中出现错误时,您的错误消息将由create操作显示。您是否也在创建和更新操作中设置了变量?

代码语言:javascript
复制
def new
  @title = "New page"
end

def create
  @title = "Errors!"
end

当您提交表单并收到错误时,您将从create操作中获取@title,如果您没有在create中设置它,则@title将为空。

当您调用render**render**,时,您不会重定向到另一个操作,因此您仍然在** update**.**中。当您调用时,您不会重定向到另一个操作

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8757740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档