2016-10-03 5 views
1

나는 행마다 카드 한 장씩 표시하는 테이블이 있습니다. 특정 행을 클릭하면이 카드를 편집 할 수있는 페이지로 리디렉션됩니다. 내 작업 표 오른쪽에 표시되는 토글 가능한 사이드 바에서 편집하고 싶습니다. 다른쪽에도 메뉴가 있으며, 토글 가능하고 내 응용 프로그램 레이아웃에서 디자인되었습니다. 카드의 인덱스보기 내부에서이를 재현하고 사용자 지정하려고 시도했지만 작동하지 않았습니다.목록의 특정 항목을 편집 할 수있는 토글 사이드 바 Ruby-on-Rails

먼저 모달 또는 실제 사이드 바를 사용합니까? 매개 변수에 따라 내용을 동적으로 변경하는 방법은 부분적으로 포함해야합니까?

누구나 비슷한 일을 해본 적이 있거나 도움이된다면 약간의 상실감이 있습니다. 정말 고맙겠습니다.

답변

1

보통 form_for 요소가 포함 된 부분을 만들 수 있으며 오른쪽 텍스트 상자와 오류 메시지 등이 있습니다. 그러나이 페이지의 컨트롤러 동작 (cards_controller#index과 같음)의 index 컨트롤러 동작에서 form_for을 사용하려면 빈 모델로 인스턴스 변수를 설정해야합니다.

그런 다음 카드 제출 방법을 결정해야합니다. 페이지를 새로 고침해도 괜찮 으면 cards_controller#create 또는 cards_controller#update 작업에 제출할 수 있지만 성공하면 해당 작업이 index보기로 다시 리디렉션됩니다. AJAX 요청으로 인해 더 쉬울 수도 있습니다. 양식을 동일한 작업으로 다시 제출하되 respond_to 블록을 사용하십시오. 요청이 json 유형 일 때 올바른 상태 코드를 제출하고 페이지에서 적절하게 응답하십시오.

행운을 빈다.

+0

이미 카드를 만들 때 사용합니다. 내 테이블 위에 입력이 있는데, 텍스트를 제출하면 카드 목록이 다시로드됩니다. 이는 부분입니다. 당신이 말했듯이, 나는 인덱스 컨트롤러에서 작동하기 위해 새로운 빈 카드 인스턴스를 만들어야했습니다. 내 편집의 주요 문제점은 사이드 바를 가져야한다는 것입니다. 사이드 바를 올바르게 구현하는 유일한 방법은 레이아웃에 배치하는 것입니다. 따라서 페이지 자체의 내용보다 먼저 생성되어 반응이 좋은 방식으로 상호 작용합니다. –

+0

문제는 레이아웃을 새로 고칠 때마다 매번 사이드 바에 변수를 변경해야한다는 것입니다. 시작 부분에 변수가 생겨서 사이드 바 주위에 if를 넣어야합니다. 레이아웃 그래서 나는 오류가 발생하지 않습니다. 그것은 주로 디자인 문제입니다. 즉, 액션의 레이아웃에 사이드 바를 추가하고 매개 변수를 전달하는 것입니다. 사이드 바 내부가 부분적으로 렌더링 될 것이라고 생각하지만 여전히 매개 변수를 지역 주민으로 전달해야합니다. 내가 여기 있는지 확실하지 않니? –