gpt4 book ai didi

ruby-on-rails - Rails 3 - 缺少索引路径?

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

我的一个 rails 应用程序遇到了一个非常奇怪的问题。我想我可能正在做一些我无法识别的非常愚蠢的事情。我的问题是,我似乎缺少大约一半的索引路径。

例如,如果我的 Controller 是模型 foo 的“foos”,我将拥有:

foos POST   /foos(.:format)      {:action=>"create", :controller=>"foos"}

但没有 GET 选项,通常是:
foos GET    /foos(.:format)   {:action=>"index", :controller=>"foos"}

下面我将向您展示我的实际代码,以帮助我恢复丢失的索引路由。

路线.rb:
resource :announcements, :controller => "announcements" do
resources :comments
member do
post 'vote'
end
end

公告部分的路线:
announcements      POST   /announcements(.:format)      {:action=>"create", :controller=>"announcements"}
new_announcements GET /announcements/new(.:format) {:action=>"new", :controller=>"announcements"}
edit_announcements GET /announcements/edit(.:format) {:action=>"edit", :controller=>"announcements"}
GET /announcements(.:format) {:action=>"show", :controller=>"announcements"}
PUT /announcements(.:format) {:action=>"update", :controller=>"announcements"}
DELETE /announcements(.:format) {:action=>"destroy", :controller=>"announcements"}

如您所见,没有获取/索引。在我的 Controller 中,我定义了简单的索引方法......
def index
@announcements = Announcement.all

respond_to do |format|
format.html
format.xml { render :xml => @announcements }
end
end

我真的不明白为什么我没有这个索引路径。它也发生在其他几个 Controller 上。任何帮助,将不胜感激。

编辑:在控制台中, app.announcements_path除了缺少索引路径的其他方法之外,还返回一个方法缺失错误。

最佳答案

这是因为您使用的是 resources 的单数化版本。 ( resource )。没有index为这些生成的 Action 路线。您应该将其更改为复数版本,并删除 :controller从行也。

关于ruby-on-rails - Rails 3 - 缺少索引路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5177449/

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