2011-12-20 2 views
0

웹 포럼을 만들고 있습니다. 거기에 스레드 목록이있는 페이지가 있으며 각 스레드의 이름은 해당 스레드에 대한 게시물이있는 페이지로 연결됩니다.레일에 will_paginate가있는 앵커 태그에 연결 3.0.10

스레드 페이지에서 스레드의 마지막 게시물에 링크하고 싶습니다. 각 게시물에는 작성된 순서에 따라 상단에 번호가 있습니다. 번호는 앵커입니다.

코드가 완벽하게 작동하고 스레드 페이지의 '마지막 게시물'링크가 게시물의 첫 번째 페이지를 넘지 않는 한 게시물 페이지의 올바른 게시물로 바로 이동합니다. URL의 '? page = x'부분을 표시 할 수 없습니다.

내 연구는 this이 will_paginate 보석을 페이지 매개 변수를 전달하는 방법임을 나타냅니다. 그러나 그것은 내 프로젝트에서 작동하지 않는 것 같습니다.

이 게시물 페이지 내 실제 페이지 매김 코드 : 'i'를

<%= will_paginate @posts, :params => {:anchor => i} %> 

이 게시물 번호를 나타내는 변수이다.

will_paginate의 최신 버전으로이 작업을 수행하는 새로운 방법이 있는지 또는 내가 누락 된 항목이 있는지 확실하지 않습니다. 여기에 편집

는 앵커가 게시물 페이지 (I 일부 중첩 된 경로는 계속해야합니까)에 생성 된 코드 :

<%= link_to(i, subject_topic_path(@subject, @topic, :anchor => i), {:name => i}) %> 

을 그리고 여기 스레드 페이지에 코드입니다 앵커 링크 (가 문을위한의 일부) : 당신이, 당신이 취급 페이지를 매기는 것이다 페이지에서 1. 올라올 페이지 = X 파트를 얻을 필요가 없습니다 그냥 알다시피

 <%= link_to "Last Post Created:", subject_topic_path(s.subject, s, :anchor => s.posts.count)%> 
+0

더 많은 코드를 게시 할 수 있습니까? 아마도 주변 블록을 게시 할 수 있습니까? – andrewpthorp

답변

0

: page => sa님께 다음과 같은 특별한 이유가없는 한 페이지 => 1이됩니다.

<%= will_paginate @posts %> 

잘 작동합니다.

+0

링크해야하는 앵커가 1 페이지에 있으면 작동합니다. 내 문제는 2 페이지 이상의 앵커에게 있습니다. will_paginate 호출의 : anchor 태그는 모든 페이지에있을 수있는 앵커에 연결할 수있는 방법이라고 생각했습니다. – Ralph

+0

예. 당신이 겪고있는 오류와 당신이 기대하고있는 것을 완전히 이해하고 있는지 확신 할 수 없습니다. 질문에 매우 구체적으로 답할 수 있다면, 나는 대답을 다시 써 주겠다. – andrewpthorp

+0

기본적으로, 나는 페이지가 매겨진 페이지의 어떤 것에 링크하고 싶다. 링크는 해당 페이지의 1 페이지 또는 35 페이지에있을 수 있습니다.페이지 1 이상에 연결할 수 없습니다. 링크가 페이지 1을 넘을 때 url? page = x # anchor를 URL # 앵커가 아닌 url #을 읽는 URL이 필요합니다. 나는 그것을 깨끗이하기를 바란다. – Ralph

0

마지막으로 게시 한 위치에 : page 매개 변수를 전달하여 문제를 해결했습니다. 따라서 :

 <%= link_to "Last Post Created:", subject_topic_path(s.subject, s, :page => x, :anchor => s.posts.count)%> 

이제 URL에 항상 페이지가 표시됩니다. Andrew가 지적했듯이 이것은 페이지 1의 링크에는 필요하지 않지만 조금 바람직하지는 않지만 링크가 작동하므로 가져 가겠습니다. 더 큰 문제는 루비 코드를 넣어야 할 때 'x'가 무엇인지를 파악해야한다는 것입니다. 왝.

나는이 일을하는 더 좋은 방법이있는 것처럼 느낍니다 ... 그러나 이것은 그동안 도움이 될 것입니다.

관련 문제