gpt4 book ai didi

ruby-on-rails - Rails routing prob : on failing "create", 重新呈现表单(因为它应该)但不是在我的 route 的 URL

转载 作者:行者123 更新时间:2023-12-04 06:01:08 25 4
gpt4 key购买 nike

RESTful 资源,默认类型路由。创建事件应该按如下方式工作:

def create
@event = current_user.events.build(params[:event])
if @event.save
redirect_to @event, :flash => { :success => "Event created!" }
else
render :action => "new" # new_event_path
end
end

当输入无效数据时,它确实再次呈现"new" View /表单,但它在“localhost:3000/events”URL 呈现此 View ,其中“index”操作/view 应该打开。

我的事件路线看起来应该是非常可预测的:

    resources :events

我刚刚更新到 Capybara 2,开始使用 DatabaseCleaner,并将 transactional_fixtures 设置为 false 以准备测试一些支持 JS 的功能,但想不出任何其他方式来解决这个问题。

是否有一些我遗漏的简单的东西可能会导致像这样的奇怪的路由困惑?

任何人,关于从哪里开始进行故障排除的想法?

最佳答案

这是正确的行为。发生的事情是它在发出创建操作时对该 URL 使用 POST 方法。在 URL 上使用 GET 将是索引操作。另请注意,呈现不同的模板不会更改 URL(这需要重定向)。

查看 Rails 路由文档中的第 2.2 节: http://guides.rubyonrails.org/routing.html

关于ruby-on-rails - Rails routing prob : on failing "create", 重新呈现表单(因为它应该)但不是在我的 route 的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14575442/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com