2016-07-14 3 views
1

와 인덱스 페이지에 새로운 편집 양식에 동일한 인스턴스 변수를 사용하여, 나는루비 : 내 인덱스 페이지에서 부분

내가 "작업을 추가하기 위해 상단에 버튼이"작업 "의 목록을 표시 "간단한 양식을 사용하여 부분적으로 모달을 사용합니다. 이것은 잘 작동합니다.

내 작업 목록에서 모든 작업에 대해 편집 및 삭제 링크를 표시합니다. 삭제 기능은 정상적으로 작동하지만 편집 기능은 컨트롤러에서 설정 한 @task = Task.new를 사용하므로 실제로 작동하지 않습니다. 그래서 "편집"모달 내가 주변에 일을 여러 가지 방법을 시도하고있다

내 각 반복자에서 "작업"동일하게 @task 싶다 "새로운"이 이상적으로

모달 사실입니다 이 문제를 주로 사용 PARAMS :

내 편집 링크는 다음과 같습니다

if params.has_key?(:task_id) 
     @task = Task.find(params[:task_id].to_i) 
    else 
     @task = Task.new 
    end 
: 내 컨트롤러에서

<% @tasks.each do |task| %> 
     ... 
     <%= link_to 'Edit', "?task_id=#{task.id}", { 'data-toggle' => 'modal', 'data-target' => '#myModal' } %> 
    <% end %> 

내 인덱스 방법은 같다

그러나 이것은 작동하지 않으며 @task는 한 번 설정되어있는 것처럼 보입니다. params의 조건에는 절대로 들어 가지 않습니다.

이 작업을 수행 할 수 있습니까? 이런 종류의 문제를 해결하는 가장 좋은 방법은 무엇입니까?

답변 해 주셔서 감사합니다.

+0

당신이 당신의 전체 컨트롤러를 게시하고 볼 수 있을까? 나는 그것이 문제를 더 잘 이해하기 위해 도울 수 있다고 생각한다. – oreoluwa

답변

1

당신은 데이터 매개 변수

보기로 TASK_ID을 통과 할 수

<%= link_to 'Edit', "", { 'data-task-id' => task.id, 'data-toggle' => 'modal', 'data-target' => '#myModal' } %> 

컨트롤러

if params.has_key?(:data-task-id) 
관련 문제