Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Ruby on Rails |参数缺失或值为空:task|_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Ruby on Rails |参数缺失或值为空:task|

Ruby on rails Ruby on Rails |参数缺失或值为空:task|,ruby-on-rails,ruby,ruby-on-rails-4,Ruby On Rails,Ruby,Ruby On Rails 4,我是rails的新手。 在我的第一个项目中,我决定创建一个“待办事项”应用程序。 两个小时后,我退缩了。 我的控制器: def complete_todo @task = Task.find(params[:id]) @task.complete_task = true if @task.update_attributes(task_params) redirect_to root_path end end private def task_pa

我是rails的新手。 在我的第一个项目中,我决定创建一个“待办事项”应用程序。 两个小时后,我退缩了。 我的控制器:

def complete_todo
    @task = Task.find(params[:id])
    @task.complete_task = true
    if @task.update_attributes(task_params)
        redirect_to root_path
    end
end

private
def task_params
    params.require(:task).permit(:name,
                                 :description,
                                 :start_on,
                                 :finish_date,
                                 :repeat,
                                 :complete_task)
end
def complete_todo
    @task = Task.find(params[:id])
    @task.complete_task = true
    if @task.save
        redirect_to root_path
    end
end
我的路线

Rails.application.routes.draw do
  root 'tasks#index'
  resources :tasks
  get 'create_new_task',  to: 'tasks#new'
  get 'complete',         to: 'tasks#complete'
  post 'tasks/complete_todo/:id',    to: 'tasks#complete_todo', as: 'finished_task'
end
我的看法呢

- @tasks.each do |task|
    - if task.complete_task == false
        div class="panel panel-primary"
            div class="panel-heading"               
                h3 class="panel-title" = link_to task.name, task_path(task)     
            div class="panel-body" 
                div class="col-md-11"
                    = task.description
                div class="col-md-1"
                    div class="bs-glyphicons"
                        = link_to finished_task_path(task), method: :post do
                            div class="col-md-6"
                                span class="glyphicon glyphicon-ok"
                        = link_to task_path(task), method: :delete do
                            div class="col-md-6"
                                span class="glyphicon glyphicon-remove"
我想多写点,但我的英语写作能力太差了。 编辑控制器:

def complete_todo
    @task = Task.find(params[:id])
    @task.complete_task = true
    if @task.update_attributes(task_params)
        redirect_to root_path
    end
end

private
def task_params
    params.require(:task).permit(:name,
                                 :description,
                                 :start_on,
                                 :finish_date,
                                 :repeat,
                                 :complete_task)
end
def complete_todo
    @task = Task.find(params[:id])
    @task.complete_task = true
    if @task.save
        redirect_to root_path
    end
end
和编辑路线:

 post 'tasks/:id/complete_todo', to: 'tasks#complete_todo', as: 'finished_task'

我想这是路线上的问题。请帮帮我。