ruby-on-rails - 当您在 Ruby on Rails 中对实例变量执行 'redirect_to' 时会发生什么?

标签 ruby-on-rails

我正在深入研究 RoR,当我浏览教程、脚手架和文档时,我遇到了一些令我困惑的代码。例如,我刚刚阅读了“redirect_to”方法,但我阅读的指南没有涵盖重定向到实例变量的示例,例如在典型脚手架中生成的代码...

# POST /articles
  # POST /articles.xml
  def create
    @article = Article.new(params[:article])

    respond_to do |format|
      if @article.save
        format.html { redirect_to(@article, :notice => 'Article was successfully created.') }
        format.xml  { render :xml => @article, :status => :created, :location => @article }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @article.errors, :status => :unprocessable_entity }
      end
    end
  end

在语句format.html {redirect_to(@article, :notice => 'Article was success create.') }中,代码重定向到实例var article,这会导致当前 Controller 中的 show 方法“redirect_to”。为什么这会导致它重定向到 show 方法?

非常感谢您的帮助!

最佳答案

为什么这会导致它重定向到 show 方法?
因为如果您不指定特定操作,Rails 会假定您想要“显示”对象。如果您想要采取其他行动,请尝试

redirect_to :action => :do_something, :id => @article

关于ruby-on-rails - 当您在 Ruby on Rails 中对实例变量执行 'redirect_to' 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3950304/

相关文章:

ruby-on-rails - 在Rails中为所有事件记录模型添加查找条件

mysql - update_all 没有更新我的数据库

sql - ActiveRecord 根据属性值查找关系中记录的位置(索引)

ruby-on-rails - 使用命名空间路由时的路由错误

ruby-on-rails - Prawn 一页多表

ruby-on-rails - 在 Amazon S3 carrierwave 上重新上传图片

ruby-on-rails - Rails API 中创建或更新操作的正确 HTTP 方法是什么?

mysql - 使用Rails迁移将类型为 "datetime"的mysql列转换为 "time"

ruby-on-rails - 有没有办法返回当前登录的设备用户数?

ruby-on-rails - rails 上的 Ajax