使用rails在向表中添加内容的解决方案是什么?

时间:2014-12-12 22:43:22

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4

我是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'

问题是什么?

1 个答案:

答案 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