我是rails的新手
所以我正在做一个管理任务的基本应用程序
我创建了添加新任务的create方法
和index.html.erb文件中的表单 但是当我在表单中插入任务时显示错误
任务控制器文件:
class TasksController < ApplicationController
def index
@tasks = Task.all
end
def create
Task.create params[:task]
redirect_to :back
end
end
index.html.erb文件:
"<h1>Tasks</h1>
<%= form_for Task.new do |f| %>
<%= f.label :task %>
<%= f.text_field :task %>
<%= f.submit %>
<% end %>
<ul>
<% for task in @tasks %>
<li><%= task.task %></li>
<% end %>
</ul>"
,错误是:
undefined method `task' for #<Class:0xbd75770>
Extracted source (around line #7):
6 def create
7 Task.create params[:task]
8 redirect_to :back
9 end
app/controllers/tasks_controller.rb:7:in `create'
问题是什么?
答案 0 :(得分:0)
您的问题:
t.task = Task.task
任务类没有方法任务。
使用t = Task.new(task_params)
或t.task = task_params['task']
<强>更新强>: 添加到您的控制器:
def create
@task = Task.new task_params
@task.save
... etc
end
def task_params
params.require(:task).permit(:task)
end