gpt4 book ai didi

ruby-on-rails - SQLite3::ConstraintException:约束失败:

转载 作者:搜寻专家 更新时间:2023-10-30 19:56:49 25 4
gpt4 key购买 nike

我正在尝试学习 Ruby on Rails,但遇到了一个需要帮助的问题。我想做的是创建一个带有表单的“项目经理”,但是当我填写表单并点击提交时,会显示以下错误:

ActiveRecord::StatementInvalid in ProjectsController#create

SQLite3::ConstraintException: constraint failed: INSERT INTO "projects" ("created_at", "description", "end_date", "start_date", "title", "updated_at", "user_id") VALUES (?, ?, ?, ?, ?, ?, ?)

Rails.root: /Applications/XAMPP/xamppfiles/htdocs/IDV450-labb1

Application Trace | Framework Trace | Full Trace
app/controllers/projects_controller.rb:14:in `create'

项目负责人:

1.   class ProjectsController < ApplicationController
2.
3. def index
4. @projects = Project.all
5. end
6.
7. def new
8. @project = Project.new
9. end
10.
11. def create
12. @project = Project.new(params[:project].merge(:user_id => current_user.id))
13.
14. if @project.save
15. redirect_to projects_path
16. else
17. render :action => "new"
18. end
19. end
20. end

项目模型:

class Project < ActiveRecord::Base
has_and_belongs_to_many :users
belongs_to :ticket

attr_accessible :user_id, :title, :description, :start_date, :end_date
end

新项目 View :

<%= form_for @project do |f| %>
<div class="text_field">
<%= f.label :title%>
<%= f.text_field :title%>
</div>
<div class="text_field">
<%= f.label :description%>
<%= f.text_field :description%>
</div>
<div class="dropdown">
<%= f.label :start_date%>
<%= date_select :start_date, :startdate %>
</div>
<div class="dropdown">
<%= f.label :end_date%>
<%= date_select :end_date, :enddate %>
</div>
<div class="select">
<%= f.label :title%>
</div>
<div class="submit">
<%= f.submit "Save" %>
</div>
<% end %>

数据库模型:

Project:
- id: int
- user_id: int
- title: varchar(50)
- description: varchar(500)
- start_date: date
- end_date: date
- created_at: datetime
- updated_at: datetime

发送的请求参数:

{"utf8"=>"✓",
"authenticity_token"=>"CrFUjpsRCEWRprSmKtOk4nBxsxrwaII1WKLDWMQWuUI=",
"project"=>{"title"=>"Foo project",
"description"=>"A little description"},
"start_date"=>{"start_date(1i)"=>"2013",
"start_date(2i)"=>"2",
"start_date(3i)"=>"7"},
"end_date"=>{"end_date(1i)"=>"2014",
"end_date(2i)"=>"3",
"end_date(3i)"=>"12"},
"commit"=>"Spara"}

它确实没有说明问题是什么,但它在第 14 行尝试保存到数据库时发生。如果我在种子中创建一个项目,它就可以工作!

最佳答案

也许您对项目模型或项目表(可以在 schema.rb 文件中看到)进行了一些验证,但失败了

或者您可以尝试通过从模型中删除所有属性并尝试创建对象来逐步检查创建项目模型

尝试打印@project 对象并查看其创建时使用的值

你应该使用保存!而不是保存

希望对你有帮助..

:)

关于ruby-on-rails - SQLite3::ConstraintException:约束失败:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14710551/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com