2011-08-10 2 views
0

Projects라는 컨트롤러가 있습니다. 쇼 페이지에서 버튼을 클릭하면 프로젝트에있는 메소드가 실행됩니다. 이 방법으로 현재 프로젝트의 ID를 찾고 싶습니다. 다음은 컨트롤러개체의 ID를 찾는 방법 다른 위치에서 레일의 show 메서드

class ProjectsController < ApplicationController 
    #add idea from projects/show 
    def add_idea 

    @data = JSON.parse(params[:data]) 
    data_splited = @data["get_idea"].split('|') 
    @idea = Idea.new 
    @idea.title = data_splited[0] 
    @idea.description = data_splited[1] 
    @idea.nb_of_votes = 0 

    project = Project.find(params[:id]) #this doesn't work 
    end 

이며,이 버튼에 해당하는 커피 스크립트 코드 :

adding_idea_to_project = -> 
    $("#add_idea").click -> get_idea_title() 

get_idea_title = -> 
    title = document.getElementById("title").value 
    description = document.getElementById("description").value 
    bank_check = document.getElementById("bank") 
    if bank_check.checked == true 
    data = "{\"get_idea\": \"#{title}|#{description}|#{bank_check}\"}" 
    else 
    data = "{\"get_idea\": \"#{title}|#{description}\"}" 
    $.ajax({ 
    type: "POST", 
    url: "projectss/idea.json", 
    data: "data=" + data 
    }) 
    location.reload(true); 

라우팅가 정확하고 노력하고, 나는 단지 프로젝트의 ID에서 찾을 수 없습니다 주어진 메소드. 어떤 아이디어

답변

0

추측 :

url: "projects/add_idea/#{projectId}.json" 
: 당신은 당신의 AJAX 요청의 일환으로 ID를 제공해야
관련 문제