2012-08-05 2 views
-3

저는 레일스에서 ​​아직 익숙하지 않고 기본 응용 프로그램에서 작업 중이며 문제가 발생했습니다.이 문제는 미안합니다. 질문에 이미 답변했지만 검색을해도 결과가 나지 않습니다.레일상의 루비에서 내 객체의 초기 값을 설정하는 방법

기본적으로 나는 모든 사람의 옷을 카탈로그로 만드는 앱을 만들고 있습니다. 이제 기본 페이지는 로그인 한 모든 항목의 색인 페이지이며 각 사진은 더 많은 정보가 공개 된 표시 페이지에 연결됩니다. AJAX를 사용하여 해당 색인 페이지를 기본 색인 페이지 측면으로 가져오고 싶습니다. 이 문제를 파악하기 위해 다른 튜토리얼을 준비 중이지만 문제가 발생했습니다. 내 인덱스 페이지의 초기로드시 부분 페이지를 사용하여 렌더링 할 수 있도록 해당 표시 페이지에 대한 변수를 정의해야하지만 사용자가 선택하지 않았으므로 find (params [: id])를 사용할 수 없습니다 아무것도 아직. 그래서 내 질문은 카탈로그의 첫 번째 항목에 초기 값을 설정하거나 아무 것도 표시되지 않도록 설정 한 다음 누군가가 링크를 클릭하면 사이드 바에 의류 조각에 대한 자세한 설명을 표시하는 방법입니다.

도움 주셔서 감사합니다.

+0

관련 코드를 게시 할 수 있다면 더 많은 도움을받을 수 있습니다. – bkconrad

답변

0

루비 보석 'PJAX'에 약간의 행운이있을 것입니다. Here is a screen cast 원하는 AJAX 사이드 바를 얻는 방법을 보여줍니다. 행운을 빌어 요.

+0

그래, 그 튜토리얼을 사용하여 내가하고 싶은 것을 알아 냈습니다. 링크를 가져 주셔서 감사합니다. – NIyer

0

정상적으로 컨테이너 요소를 인쇄 할 수 있지만 페이지가 생성 될 때 비워 두는 것처럼 들립니다. 선택적으로 CSS를 통해 숨 깁니다. 그런 다음 AJAX로 컨텐츠를로드 할 때이를 AJAX로 설정하거나 보통으로 채 웁니다.

카탈로그의 첫 번째 항목 (또는 ActiveRecord)으로 설정하려면 .first과 같이 사용할 수 있습니다. Products.first을 입력하고 해당 값을 사용하여 초기 내용을 채 웁니다.

+0

CSS와 관련이 없다고 생각합니다. 컨트롤러에서 정의한 것보다 더 많이 생각합니다. 컨트롤러에서 @clothitem = Clothitem.find (params [: id]), if 문을 사용하여 작동 시키려고했는데, 내가 접근하는 방식 일 수 있습니다. – NIyer

+0

CSS의 사용은 단지 하나의 해결책 일뿐입니다. 당신이 메가의 대답에 관심이있는 것 같습니다. – bkconrad

1
@object = params[:id] ? MyModel.find(params[:id]) : MyModel.first 

하지만 응용 프로그램 디자인에 문제가 있다고 생각합니다.

+0

어쩌면, 사이드 바를위한 페이지의 초기로드를 비워두기를 원할 것입니다. 그런 다음 누군가가 사이드 바를 클릭하면 사이드 바에 나타나게됩니다. 현재 일어나고있는 일은 사이드 바가 이미 첫 번째로드에서 무언가를 표시하려고 시도하고 있으며 사용자가 아무 것도 선택하지 않았기 때문에 작동하지 않는 것입니다. 나는 다르게 접근해야 할 수도 있습니다. – NIyer

관련 문제