【问题标题】:Create item in Ruby DB through form submission通过表单提交在 Ruby DB 中创建项目
【发布时间】:2013-05-19 15:51:22
【问题描述】:

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

SubmissionsController#create 中的名称错误

未定义的局部变量或方法 `title' for # Rails.root: /home/tom/brain_db

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

参数:

{"title"=>"fsdf", “内容”=>“fsdfsd”}

这是我的 SubmissionsController:

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 新手有什么建议吗?

【问题讨论】:

    标签: ruby-on-rails ruby database controllers


    【解决方案1】:

    提交表单的数据可以在控制器内部的params“hash”中访问:

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

    【讨论】:

      猜你喜欢
      • 2013-10-13
      • 2014-05-20
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多