2017-04-19 18 views
0

'ID' でプロジェクトを見つけることができませんでした:ruby​​-は、私は以下のように、このネストされたリソースのエラーだ=

のActiveRecord ::のRecordNotFoundを管理/プロジェクト/ 2/project_comments /で

プロジェクトが見つかりませんでした'ID' =

routes.rbを

namespace :admin do 
resources :users 
resources :projects do 
    resources :project_users 
    resources :project_comments 
end 
end 

project.rb

has_many :project_comments 

project_comment.rn

belongs_to :project 

project_comments_co

class Admin::ProjectCommentsController < ApplicationController 
before_action :set_project_comment, only: [:show, :edit, :update, :destroy] 
before_action :set_project 


def your_action 
    # these are for debugging 
    puts params.inspect 
    puts params[:option_id] 
    @event = Event.find(params[:event_id]) 
    @option = Option.find(params[:option_id]) 
end 

def index 
    @project_comments = @project.project_comments.all 
end 

def new 
    @project_comment = @project.project_comments.new 
end 

def create 
    @project_comment = @project.project_comments.new(project_comment_params) 

    if @project_comment.save 
    else 
    end 
end 

def show 
end 

def edit 
end 

def update 
    if @project_comment.update(project_comment_params) 
    else 
    end 
end 

def destroy 
    @project_comment.destroy 
end 

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


def set_project_comment 
    @set_project_comment = ProjectComment.find(params[:id]) 
end 


def project_comment_params 
    params.require(:project_comment).permit(:project_id, :user_id, :comment)  
end 

エンド

は私を助けてくれてありがとう!

+0

あなたのset_projectメソッドでは、params [:id]はparams [:project_id]である必要があります。 – Deep

+0

ありがとうございました!私は今それを解決しました – JiaPing

答えて

0

あなたがProjectCommentsController内にあるとしてparams[:id]はあなたにProjectProjectCommentidないを与えるだろう。だからあなたの方法で:

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

変更あなたの問題を解決しますparams[:project_id]params[:id]

0

このエラーは、このIDを持つプロジェクトレコードが見つかりませんでした。

データベースにプロジェクトレコードがありますか?

スタックトレースを投稿してください。

+0

params [:id]をparams [:project_id]に変更し、エラーを解決しました。助けてくれてありがとう! – JiaPing

0
コードの下であなたのset_project機能を変更

private 
def set_project 
    @project = Project.find(params[:project_id]) 
end 
関連する問題