Ruby on rails Ruby on Rails |参数缺失或值为空:task|
我是rails的新手。 在我的第一个项目中,我决定创建一个“待办事项”应用程序。 两个小时后,我退缩了。 我的控制器: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
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'
我想这是路线上的问题。请帮帮我。