27539


railsを始めて2週間の新参者です、よろしくお願いします  
現在scaffoldを使い  
管理用scaffoldと閲覧用のindex show を作っています

説明が下手ですが、管理用のscaffoldに記事を投稿したら閲覧用の別のコントローラーを使用したindex
showに記事が追加表示されるという仕組みを行いたいです  
そこで、indexの記事の概要を並べる所は上手くいったのですが、その概要記事からリンクでshow(詳細記事)の記事に飛ぶときに下記エラーが発生します  
[![画像の説明をここに入力](https://i.stack.imgur.com/cg030.png)](https://i.stack.imgur.com/cg030.png)

下記のやり方ではIDが取得できないのでしょうか？そのまえに:IDをカラム追加しなければならないのでしょうか？他は何とかなるのですがここだけ悩み続けています

[code]

    class KotensController < ApplicationController
    
      def index
        @### = ###.all
      end
    
      def show
        @### = ###.find(params[:id])
      end
    end
    
[/code]

ちなみに管理用と公開用でコントローラーを分けているのは今後管理用にアップローダー等別の機能も乗っける予定で分けております。  
良いやり方をお教えくださいますと幸いです  
よろしくお願いします

追記こちらリンク先(show)のViewになります

[code]

    <h1>Coffee#show</h1>
    <p>Find me in app/views/coffee/show.html.erb</p>
    <p id="notice"><%= notice %></p>
    <p>
      <strong>Title:</strong>
      <%= @koten.title %>
    </p>
    
    <p>
      <strong>Place:</strong>
      <%= @koten.place %>
    </p>
    
    <p>
      <strong>Date:</strong>
      <%= @koten.date %>
    </p>
    
    <p>
      <strong>Time:</strong>
      <%= @koten.time %>
    </p>
    
    <p>
      <strong>Time:</strong>
      <%= @koten.time2 %>
    </p>
    
    <p>
      <strong>Setu:</strong>
      <%= @koten.setu %>
    </p>
    
    <p>
      <strong>Image:</strong>
    <% if @koten.image? %>
          <div class="thumbnail">
            <%= image_tag @koten.image.url %>
          </div>
        <% end %>
    </p>
    
    <%= link_to '戻る', root_path %>
    
[/code]

追記：routeになります

[code]

    Rails.application.routes.draw do
      devise_for :users
      resources :kotens 
      resources :coffee, only: [:index, :show]
      root :to => 'coffee#index'
      get'/show/:id' => 'kotens#show'
      get'/show/:id' => 'coffee#show'
    
    end
    
[/code]


CC BY-SA 3.0
2016-07-10T08:10:32.607
27499
2016-07-11T13:24:58.357
2016-07-10T09:32:15.557
3068
17124
question
ruby-on-rails
rails showのID参照について


恐らくリンク元のindexのページで、`link_to`のリンクがうまく生成できていなさそうです。

`params[:id]`をみると、モデルのid属性が渡されておらず、ActiveRecord Relationが渡されているように見えます。

indexのviewのソースを見ないとなんともいえないのですが、indexのviewで`link_to
koten_path(@kotens)`のように書いてある部分を`link_to
koten_path(@kotens[0])`のように修正するとうまく動くのではないでしょうか。


CC BY-SA 3.0
2016-07-11T13:24:58.357
27539
2016-07-11T13:24:58.357
2599
27499
answer