2012-12-05 2 views
1

작업 목록이 있습니다. 각 축일에는 날짜와 이름이 있습니다. 색인에서 오늘의 작업 만 표시하고 싶습니다. 오늘 이후에 작업이 있으면 "이전"링크와 "다음"링크로 이전의 페이지 매김을하고 싶습니다.일별 페이지 매기기

내 머리가 아주 단순하지만, 어떻게 할 지 모르겠습니다. 저는 루비 온 레일 (ruby-on-rails)을 처음 접했고, 그런 어려움을 겪고 있습니다.

감사합니다.

다음은 현재까지입니다. 그러나 그것은 효과가 없습니다.

def index 

    @date = Date.parse(params[:day]) rescue Date.today 
    @tasks = Task.where(Date.today) 
    @total_tasks = Task.count 
    @current_tasks = @tasks.size 
    respond_to do |format| 
     format.html # index.html.erb 
     format.json { render json: @tasks } 
    end 
    end 

답변

0

<h1>Listing tasks</h1> 
<% @tasks.each do |task| %> 
    <%= task.name %> 
    <%= task.day %> 


<% end %> 


<br /> 

<%= link_to 'New Task', new_task_path %> 
<%= link_to 'Previous', tasks_url(:date => @date.prev_day) %> 
<%= if @date.past? = link_to 'Next day', tasks_url(:date => @date.next_day) %> 

tasks_controller 지수는이 스크립트에서 몇 가지 작은 오류가 있습니다

<%= link_to 'Previous', tasks_url(:date => @date.prev_day) %> 
<%= if @date.past? = link_to 'Next day', tasks_url(:date => @date.next_day) %> 

을 여기에서, 당신은 경로에 날짜 PARAMS을 전달하고 있습니다. 여기

@date = Date.parse(params[:day]) rescue Date.today 

대신이 날짜를 기준으로 작업을 찾을 수있는 올바른 구문되지 않습니다 params[:date]

@tasks = Task.where(Date.today) 

day PARAMS을 사용하고 위의 @date 그러나 오늘의 날짜를 사용하지 않은 대체 그것에 의해 Task.where(day: @date)

만약 당신이 발생하는 오류에 대한 자세한 내용을 제공하지 않으면 이것이 대부분의 문제를 해결할 수 있기를 바랍니다.

+0

정말 고마워요. 그건 잘 작동합니다. :) – Allan

+0

@Allan,이 대답이 도움이된다면 [받아 들여주세요] (http://meta.stackexchange.com/a/5235/152479). – Mischa

+0

또 다른 문제가 있습니다. 업데이트 할 때, 오늘의 과제로 돌아갑니다. 나는 그것이 내가 에디팅하는 날로 돌아갈 수 있었으면 좋겠습니다. 여기 코드 = def update/format.html {redirect_to tasks_path, notice : '작업이 성공적으로 업데이트되었습니다.' } "tasks_path"를 "tasks_day_path"와 같은 것으로 어떻게 변경할 수 있습니까? 다시 한 번 감사합니다. – Allan