안녕하십니까, 루비 온 레일즈 애플리케이션에서 나는 승리와 손실을위한 스탯 카운터를 만들려고합니다. 이 통계는 항상 내 페이지의 사이드 바에 표시됩니다. 이 값들은 Stats라는 모델을 사용합니다. 통계는 모든면에서 표시하고 싶기 때문에 전역 적으로 사용할 수 있어야합니다. 그래야 application_helper.rb에 저장됩니다. 또한 두 가지 작업이 있습니다. 관리자에게만 표시되는 추가/삭제 링크 추가를 클릭하면 호출해야합니다. 링크를 클릭하면 기본 페이지로 리디렉션됩니다. 현재 사용자가 사이트에 들어가거나 새로 고칠 때마다 두 카운터가 모두 증가합니다. 좀 도와주세요, 지금 몇 시간 동안이 문제를 해결하려고하고 있는데 아직 이해가 안됩니다.레일 3은 link_to로 내 카운터 값을 증가시킵니다.
내 application_helper
module ApplicationHelper
def stats
@stats = Stats.find(1)
end
def addwin
@stats = Stats.find(1)
@stats.update_attribute(:wins, @stats.wins+1)
end
def addloss
@stats = Stats.find(1)
@stats.update_attribute(:loss, @stats.loss+1)
end
끝
사이드가 위치한 내 application.html.erb 파일의 추출물 : 누군가가 나를 도울 수 있다면
<tr><td>Dotards StatsTracker</td></tr>
<tr><td>Wins: </td><td style="color:green"><%= stats.wins%></td></tr>
<tr><td>Losses: </td><td style="color:red"><%= stats.loss%></td></tr>
<hr>
</table >
<%if user_signed_in? && current_user.admin? %>
<small><%= link_to "Add Win", news_index_path(addwin) %>|<%= link_to "Add Loss", news_index_path(addloss)%></small>
<% end %>
좋지 않을까 왜냐하면 나는 내가 뭘 할 수 있는지 모른다. 미리 감사드립니다.
그러나 왜 'news_index_path (addloss)'가 페이지 생성시 감소하지 않는가? – gabrielhilal
페이지의 모든 사이트에서 데이터에 액세스 할 수 있습니까? 왜냐하면 뉴스 페이지에 표시되기를 원하지 않기 때문입니다. – dhartwich
모델에 넣는다면? 물론, 그것이 바로 모델입니다. 당신은 "순간에 두 카운터가 매번 증가한다."라고 쓴다. 그리고 그것은 두 함수 모두를 호출하는 코드에서 기대할 것이다. – bento