Rails 使用特定动词重定向或渲染

发布于 2024-11-09 07:55:06 字数 765 浏览 0 评论 0原文

我想在创建新项目时重定向到资源索引

这是控制器的一部分:

def create
    @asset = Asset.new(params[:asset])
    @assets = Asset.all
    respond_to do |format|
      if @asset.save
        format.html { render :action => 'index' } ##########
        format.xml  { render :xml => @asset, :status => :created, :location => @asset }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @asset.errors, :status => :unprocessable_entity }
      end
    end
  end

我感兴趣的行标记为 ##########

我已经尝试过

  format.html { redirect_to(assets_url) }

以及其他一些内容

它会重定向到正确的位置并很好地创建项目,问题是我无法让它不POST。我需要将其获取到 GET 因为否则它会在我看来造成一些可怕的扭曲的事情。

I want to redirect to a resource index when a new item is created

Here is a piece of the controller:

def create
    @asset = Asset.new(params[:asset])
    @assets = Asset.all
    respond_to do |format|
      if @asset.save
        format.html { render :action => 'index' } ##########
        format.xml  { render :xml => @asset, :status => :created, :location => @asset }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @asset.errors, :status => :unprocessable_entity }
      end
    end
  end

The line i'm interested is marked ##########

i've tried

  format.html { redirect_to(assets_url) }

and some other stuff

It redirects to the right place and creates the item fine, the problem is that i cant get it to not POST. I need to get it to GET because otherwise it does some horribly screwy things to my view.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

尴尬癌患者 2024-11-16 07:55:06

redirect_to :action =>; :indexredirect_to assets_url 应该适合你。此外,index 操作始终是 GET 请求。执行rake paths来查看控制器中的每个操作发生了什么样的请求。

redirect_to :action => :index Or redirect_to assets_url should work for you. Also, index action is always GET request. Do rake routes to see what kind of request happens for each action in your controller.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文