2011-09-28 7 views
1

이 질문은 설명하기 어렵 기 때문에 나와 함께하시기 바랍니다. 레코드 테이블의 레코드를 보유하는 행이 들어있는 테이블이 있습니다. 아약스를 사용하여이 테이블에 행을 추가 할 수 있으며 행의 텍스트 필드에 시간을 입력하고 클릭하면 레코드가 아약스를 통해 제출됩니다. 내 문제는 각 행 옆에 삭제 단추가 있다는 것입니다. 페이지가로드 될 때 이미 레코드 테이블에있는 페이지 또는 행을 새로 고칠 때 youd가 예상하는대로 행이 삭제됩니다. 그러나 내가 방금 몇 시간을 추가하고 havent 페이지를 새로 고친 다음 레코드를 삭제할 수 없다면. 필자를 검색 한 후Ruby/Javascript에서 단추의 href 설정

이 좁혀 :

이미 기록 : 그냥 추가

<a rel="nofollow" data-method="delete" data-confirm="Are you sure?" href="/records/2"> 

:

<a class="delete" title="delete row" rel="nofollow" data-remote="true" data-method="delete" data-confirm="Are you sure?" href="Delete"> 

루비 방법을 사용하여 메신저 레코드에서 "삭제"때문에 컨트롤러는 레코드 ID가 href이므로 "records/2"가 필요합니다. 필자가 원하지 않는 페이지를 ive refresh 할 때까지는 변하지 않을 것이다.

필자는 레코드가 제출 될 때 버튼의 href를 설정하는 것에 대해 생각했지만 js 또는 루비에서 수행하는 방법을 알고 있었지만 ID는 제출 한 다음 레코드 ID를 다시 가져와야합니다. 또는 누군가가 위의 것 이외의 더 좋은 아이디어를 내놓을 수 있고 "제출할 때 페이지를 새로 고침"하면 모든 귀가 들립니다.

+0

왜 새 레코드에 템플릿에서 생성되는 것보다 많은 특성이 포함되어 있습니까? UI를 통해 생성 될 때 행을 생성하는 코드를 게시 할 수 있습니까? – Cluster

+1

나는 그것이 테이블에 행을 추가하고 시간을 추가 할 때 숨겨진 폼을 제출하고 datebase에 쓸 때 그 이유를 생각한다. 그러나 페이지를 새로 고칠 때 내 컨트롤러는 레코드 테이블을보고 레코드 용으로 행을 만듭니다. 왜냐하면 기본적으로 두 개의 다른 행이 있기 때문입니다. – SD1990

+1

HTML을 만드는 루비 .. – SD1990

답변

2

Iam은 레일을 사용하고 있으므로 컨트롤러가 js 응답을 반환해야합니다. 이 question을 확인하십시오. JavaScript에서 erb 코드를 렌더링하려면 escape_javascript를 사용해야합니다.

관련 문제