【发布时间】:2020-04-22 11:54:04
【问题描述】:
我想我不了解 Rails 中的路线。当用户在结帐页面时,我想隐藏导航栏和页脚。
到目前为止,我试图做这样的事情:
<body>
<% if current_page?(new_checkout_path) %>
<%= yield %>
<% else %>
<%= render 'layouts/navbar' %>
<%= yield %>
<%= render 'layouts/footer' %>
<% end %>
</body>
这是有效的。没有导航栏或页脚。
我的问题是当用户尝试提交表单并且验证不想接受时。
如果我理解正确:控制器尝试保存/创建 "post" 方法,但不能,所以它再次推动执行 :new ...现在我不明白了。
我们在 checkouts_path 但它实际上是 checkouts with method::post 而不是 :get 之一。这就是我们不呈现索引页面的原因。
为什么我们不再使用 new_checkout_path?因为我们的表格根本没有保存? 如果陈述如下,如何传递给我的穷人:
<% if current_page?(new_checkout_path) || current_page?(checkouts_path, method: :post %>
有没有办法做到这一点?我已阅读 Rails Routing from the Outside In 并尝试覆盖默认路由,但一无所获。有没有人耐心帮我理解一下?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby view routes