gpt4 book ai didi

ruby-on-rails - rails 3 条路线 : different auto route for model

转载 作者:行者123 更新时间:2023-12-04 17:40:45 25 4
gpt4 key购买 nike

所以我有一个名为 Photoset 的模型类和一个名为 Sets 的 Controller 。
我得到了资源:设置适用于一切,除非路径是从模型实例生成的。例如,如果我使用:

<%= form_for(@photoset) do |f| %>

我收到错误:
 no route matches {:controller=>"sets"}

最终我希望所有的 uris 都是 .../sets/...(controller name) 而不是 .../photosets/...(model name)

有什么方法可以做到这一点并且仍然能够使用助手吗?

--编辑--
继承人我的 rake 路线输出:
    sets GET    /sets(.:format)          {:controller=>"sets", :action=>"index"}
POST /sets(.:format) {:controller=>"sets", :action=>"create"}
new_set GET /sets/new(.:format) {:controller=>"sets", :action=>"new"}
edit_set GET /sets/:id/edit(.:format) {:controller=>"sets", :action=>"edit"}
set GET /sets/:id(.:format) {:controller=>"sets", :action=>"show"}
PUT /sets/:id(.:format) {:controller=>"sets", :action=>"update"}
DELETE /sets/:id(.:format) {:controller=>"sets", :action=>"destroy"}

一切正常,问题是当我尝试从模型实例构建表单时。我知道 rails 无法知道我试图将 Photoset 模型直接与 Set Controller 联系起来,但我不知道如何指定。

最佳答案

您有一个 Photoset 模型,设置 Controller 和 url 需要采用形式 /sets/1/edit .

resources :sets, :as => "photosets"

使用这样的简单形式:
<%= form_for(@photoset) do |f| %>
<%= f.text_field :title %>
<%= f.submit "Save" %>
<% end %>

关于ruby-on-rails - rails 3 条路线 : different auto route for model,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4603359/

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