0

モデルのないビューが 2 つあります。

インデックス ビュー:

<% @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

URLのみが表示されます

http://localhost:3000/icd/show

IDなしで!

私のルート:

get "icd/index"
get "icd/show"
4

1 に答える 1

2

1つ目: 非常に紛らわしいネーミング: controller icd、 model icd1..


2番目:

get "icd/show/:id", to: "icd#show", as: "icd_show"

また

get "icd/:id/show", to: "icd#show", as: "icd_show"

取得する URL によって異なります。それは紛らわしい。

しかし、これがあなたのURLに必要なものだと思います。

<%= link_to "#{f.von}  #{f.bis} #{f.bezeichnung}", icd_show_path(f) %>

また、ルート:

get "icd/:id", to: "icd#show", as: "icd_show"

この次の URL が利用可能になります:

../icd/1コントローラーshowからアクションを呼び出すicd

于 2013-08-12T22:12:46.050 に答える