0

我是 Ruby 和后端编程的新手,正在尝试构建我的第一个应用程序。我要做的是创建一个 HTML 表单,将提交的数据存储到数据库中。我已经完成了一切,当我单击表单上的提交按钮时,它会触发正确的控制器,但我遇到了这个错误:

提交控制器中的名称错误#create

# Rails.root 的未定义局部变量或方法“标题”:/home/tom/brain_db

应用程序跟踪 | 框架跟踪 | 完整跟踪 app/controllers/submissions_controller.rb:4:in `create' 请求

参数:

{"title"=>"fsdf", "content"=>"fsdfsd"}

这是我的提交控制器:

class SubmissionsController < ApplicationController

def create 
    Submission.where(title: title).first_or_create(
        title: title,
        content: title
        )
end

def index
    render json: Submission.all
end

def show 
    render json: Submission.find(params[:id])
end


end

问题是我不知道如何将我的“创建”操作与提交的数据联系起来。数据以 JSON 格式正确发送后端,并且在创建操作中,如果我将 where(title: title) 更改为 where(title: "title") 等等,它会将项目正确保存到数据库中,但显然我想要保存表单中的数据。对 Ruby 新手有什么建议吗?

4

1 回答 1

0

Data of the submitted form is accessible in the params "hash" inside the controller:

def create 
    Submission.where(title: params[:title]).first_or_create(
        title: params[:title],
        content: params[:content]
        )
end
于 2013-05-24T05:48:51.523 回答