gpt4 book ai didi

ruby-on-rails - 如何使用新操作的参数声明 rails 资源?

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

我有一个名为 的模型主菜 其中new action 需要一个参数,另一个名为 的模型的 id洞穴 .我不想在 Cave 中嵌套 Entree,因为 Cave 已经嵌套了。
我所做的是在 routes.rb 中如下声明资源主菜:

resources :entrees, :except => [:new]
match "/entrees/new/:id", :to => "Entrees#new", :as => 'new_entree'

这是可行的,但问题是 create 中出现错误时 Action ,我想用无效的输入再次显示页面。但是因为没有 new行动,我必须做 redirect_to new_entree_path ,不保留用户输入。

我尝试了以下(最简单的)路线:
resources :entrees

但随后的路径 http://localhost:3000/entrees/new/32返回错误:
No route matches [GET] "/entrees/new/32"
问题是,如何使用 new 的参数在路由文件中声明 Entree 资源。行动 ?

最佳答案

我不确定这是否是黑客攻击,但以下内容有效并且似乎比 2 级嵌套更干净。

resources :entrees, :except => [:new] do
collection do
get 'new/:id', :to => "entrees#new", :as => 'new'
end
end

现在我可以做 render "new"而不是 redirect_to .
我必须说我一定是问错了我的问题。

关于ruby-on-rails - 如何使用新操作的参数声明 rails 资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794621/

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