2012-12-14 2 views
1

내 컨트롤러에서 '더 자세히'링크를 클릭하여 클릭 수만 계산합니다. 즉, 그 외에는 아무 것도하지 않는 방법입니다. 나는 괜찮 으면 좋겠지 만 노출 수를 계산하기 위해 impressionist 보석을 사용하고 있습니다. 그러나 "더 자세히"링크에 대한 클릭 수를 계산하고 싶습니다. "더 많은 링크 읽기"링크는 jQuery에서 공개 한 것이므로 다른 컨트롤러 방법은 없습니다. 그들을 위해.레일 : 컨트롤러에서 클릭 수를 남기지 않고 남은 수를 계산하는 방법

이것은 지금까지 얻은 것입니다. 페이지를 떠나거나 다시로드하지 않고 클릭 결과를 보내면됩니다. 큰 도움이 될 것입니다 (19)

어떤 생각의 ID와 Article에 대한

ActiveRecord::RecordNotFound (Couldn't find Doc with id=19) 

그것을보고해야합니다 내가 링크를 클릭하면

def read_more(a) 
    @article = Article(a) 
    impressionist(a) 
end 

나는이 오류가 발생합니다. 건배!

답변

0

, 다른 사람이 비슷한 문제로 와야한다보십시오.

def read_more 
    @article = Article.find(params[:id]) 
    impressionist(@article) 
    render :json => "Read." 
end 

컨트롤러 메서드에는 인수를 사용할 수 없습니다.

1

당신은을 통해 어떤 임의의 텍스트 렌더링 할 수 있습니다

render(:text => @document.number_of_impressions) and return 

을하지만 아마 그냥 JSON에 그것을 포장하고 반환 : JSON을 사용하여

data = {:impressions => 74} 
render(:json => data) and return 

을 더를 반환하는 옵션이 있습니다 나중에 필요하면 데이터를 저장하십시오.

+0

이 시점에서 결과를 렌더링하고 싶지는 않지만 클릭 만 데이터베이스에 제출하십시오. 말이 돼? –

0

컨트롤러에

@document.increment!(:number_of_impressions) 

를 추가합니다.

값을 증가시킬 때 문서를 저장하지 않으려면 increment에서 강타를 제거하십시오.

0

내가 답을 알아 낸

render :nothing => true 
관련 문제