0

私のビュー(index.html.erb)コードには次のものがあります。

<% @projects.each do |project| %>
   <%= link_to (@project) do %>
      <div id="tombstone">
         ...Some HTML here...
      </div>
   <% end %>
<% end %>

目標は、各プロジェクトの概要をトゥームストーンDIV内に表示し、DIV全体をプロジェクトの詳細ページ(show.html.erb)へのリンクとして機能させることです。

私のコントローラーには次のものがあります。

def show
   @project = Project.find(params[:id])
end

ルートには次のものがあります。

resources :projects do
   ...
   resources :updates
end

@project<%= link_to %>コントローラーが定義するプロジェクトの詳細ページ(show.html.erb)ではなく、プロジェクト(index.html.erb)ページを指します。IDパラメータが渡されていないことは推測できますが、その理由はわかりません。

4

1 に答える 1

2
<%= link_to(project) do %> # not @project

@projectはおそらく新しいレコードであるため、技術的にはインデックスに送信されました。@project == Project.newであるため、GETリクエストを指定したlink_to(Project.new)は、インデックスアクションへのパスをレンダリングします。

于 2012-12-21T21:21:47.443 に答える