我有两个少模型的视图。
索引视图:
<% @icd1.each do |f| %>
<%= link_to "#{f.von} #{f.bis} #{f.bezeichnung}", icd_show_path(f) %>
</p>
<% end %>
一个节目视图:
<% @icd1.each do |f| %>
<%= link_to "#{f.von} #{f.bis} #{f.bezeichnung}", icd_show_path(f) %>
</p>
<% f.icd2.each do |s| %>
<%= s.von %><%= s.bis %><%= s.bezeichnung %>
</p>
<% end %>
<% end %>
我的控制器:
class IcdController < ApplicationController
def index
@icd1 = Icd1.all
end
def show
@icd1 = Icd1.find(params[:id])
end
end
但不知何故,索引视图中的链接不起作用:
<%= link_to "#{f.von} #{f.bis} #{f.bezeichnung}", icd_show_path(f) %>
当我尝试访问节目页面时,我收到错误:
Couldn't find Icd1 without an ID
,网址只显示
http://localhost:3000/icd/show
没有身份证明!
我的路线:
get "icd/index"
get "icd/show"
答案 0 :(得分:2)
第一:非常令人困惑的命名:控制器icd
,型号icd1
..
<强>第二强>
get "icd/show/:id", to: "icd#show", as: "icd_show"
或
get "icd/:id/show", to: "icd#show", as: "icd_show"
取决于您想要获得的网址。这很令人困惑。
但我认为这是您在网址中所需要的;
<%= link_to "#{f.von} #{f.bis} #{f.bezeichnung}", icd_show_path(f) %>
以及路线:
get "icd/:id", to: "icd#show", as: "icd_show"
此后,下一个网址将可用:
../icd/1
将从show
控制器
icd