2016-08-16 1 views
0

div가 있는데, 다른 페이지로 연결되기를 원합니다. 보통 우리는 이것을 link_to link처럼합니다.레일즈, 자바 스크립트에 루비 파라미터를 추가하십시오.

<% for post in @posts %> 
    <%= link_to "Post", post %> # -> or <%= link_to(post) %> 
<% end %> 

하지만 전체 div가 js와 연결되어야합니다. 그래서, 나는했다 :

<% for post in @posts %> 
    <div class="post-on-main-page-<%= div_count %>" > 
     <script> 
      $(".post-on-main-page-<%= div_count %>").click(function(){ 
       window.location.href = "<%= link_to(post) %>"; 
       }); 
     </script> 
    </div> 
<% end %> 

나는 작동하지 않는다.

여기에 게시가 매개 변수 인 window.location.href = "<%= link_to(post) %>";이 필요합니다. 해당 게시물에 대한 링크를 제공합니다.

그래서 어떻게 작동시킬 수 있습니까?

+0

'div'에 데이터 속성을 추가하고 해당 값을 사용하여 리디렉션하는 것이 어떨까요? –

+0

이것을 시도하십시오'window.location.href = "# {link_to (post)}"; –

+0

@BrenoPerucchi 아니 깨진입니다 – naomik

답변

1

link_to 당신은 방금 경로 또는 URL을 원하는 대신하는 경우 post_path(post) 또는 post_url(post)

+0

감사합니다 post_url (post) 나를 위해 일했습니다. –

0

당신은 같은 blocklink_to에 도우미를 전달할 수 있습니다 사용해야 전체 <a> 요소

를 생성합니다

<% @posts.each do |post| %> 
    <%= link_to post do %> 
    <div class="post-on-main-page"> 
    <!-- Fill in your content --> 
    </div> 
    <% end %> 
<% end %> 

그러면 posts#show 페이지로 연결되는 div가 생성됩니다.

+0

예, 알고 있습니다. 그러나 이것은 나에게 나쁜 결정이다. –

관련 문제