0

일관된 <a href=""> 링크가있는 게시 페이지가 있습니다. 나는 각 게시물에을 클릭 링크를 클릭해야합니다. 나는 이미 내가 가장 간단한 형태의이 카운터가 가능하게 어떻게간단한 <a href> 링크 보석을 사용하지 않고 Rails 5가있는 카운터를 클릭하십시오.

t.integer "count_click" 

같은 테이블 열이?

<%= link_to @post.reference_title, @post.reference_url, target: :_blank %> 

나는 아마 오른쪽 컨트롤러에서 간단한 SQL 쿼리와 함께 그렇게 할 수 있습니까? 하지만 클릭으로 실행하는 방법을 모르겠습니다.

고마워요!

+0

[google analytics event tracking] (https://developers.google.com/anal)은 어떨까요? ytics/devguides/collection/analyticsjs/events)? 또는 앱에서 링크가 연결될 컨트롤러에서 업데이트 할 수 있습니다. – user3366016

+0

보고있는 항목을 클릭 할 때마다 클릭 수가보기 횟수와 얼마나 다른가요? – Leito

+0

안녕하세요 @ user3366016, Google에 대한 생각이 없습니다 :) 나는 그것을 연구하고 있습니다. 컨트롤러에서 시도했지만 실패했습니다. 내 질문을 업데이트했습니다. – Designer

답변

1

기본 구현의 경우 내 의견에 따라 컨트롤러 동작에서 수행합니다. 나는 당신의 모범을 위해 같은 행동으로 모든 것을 할 것이라고 생각합니다. 원래의 질문에 대한

2 개 카운터가 있었다 :

t.integer "count_click" 
t.integer "count_view" 

나는 그것을 클릭하면 통과 할 링크 자체에 PARAM를 추가 할 것 : 기본 구현을 위해

<%= link_to @post.reference_title, reference_url(@post, clicked: true), target: :_blank %> 

을 다음과 같이 증가시킬 수 있습니다.

def reference 
    # Increment the view counter whenever page loads. 
    Post.increment_counter(:count_view, @post.id) 
    # Increment the click counter if the link was clicked based on param. 
    Post.increment_counter(:count_click, @post.id) if params[:clicked] == "true" 
end 
+0

감사합니다. count_view great :) 나는 바보 같은 실수를 저질렀다. :) 그러나 카운트 클릭은 잘못된 인자를 준다. (주어진 1, 예상 0) ** 나는 그것을 @ post.reference_url로 넘길 수 없다고 생각한다. 클릭 한 : true) – Designer

+0

@Designer 링크를 업데이트했습니다. 귀하의 경로가 확실하지 않습니다 ... 그리고 지금 내가보고있는 것은 앱의 경로입니까, 아니면 URL을 저장하는 모델의 속성입니까? 해당 URL이 앱의 페이지로 이동합니까? – user3366016

+0

이제 # <# : 0x007fea7e8197d0> ** 오류에 대해 ** 정의되지 않은 메서드 'reference_url'이 표시됩니다. 하지만 당신이 거기에서 제안하는 것을 봅니다. 나는 그것을 구현하는 변형을 시도하고있다 ** clicked : true **. 감사 – Designer