Ruby on rails Creartor必须存在错误Ruby on Rails

Ruby on rails Creartor必须存在错误Ruby on Rails,ruby-on-rails,ruby-on-rails-3,associations,cloud9,Ruby On Rails,Ruby On Rails 3,Associations,Cloud9,我有两个模型,问题和用户 用户: class User < ApplicationRecord has_many :created_issues, :class_name => 'Issue', :foreign_key => 'creator_id' has_many :assigned_issues, :class_name => 'Issue', :foreign_key => 'assigned_id' end class Issue &l

我有两个模型,问题和用户

用户:

class User < ApplicationRecord
    has_many :created_issues, :class_name => 'Issue', :foreign_key => 'creator_id'
    has_many :assigned_issues, :class_name => 'Issue', :foreign_key => 'assigned_id'
end
class Issue < ApplicationRecord
    belongs_to     :creator,
                   :class_name => "User",
                   :foreign_key  => "creator_id"

    belongs_to     :assigned,
                   :class_name => "User",
                   :foreign_key  => "assigned_id" 
end
class CreateIssues < ActiveRecord::Migration[5.1]
  def change
    create_table :issues do |t|
      t.string :title
      t.text :description
      t.integer :assigned_id
      t.string :tipo
      t.string :prioridad
      t.string :estado
      t.references :creator
      t.references :assigned

     add_foreign_key :issues, :users, column: :creator_id, primary_key: :id
     add_foreign_key :issues, :users, column: :assigned_id, primary_key: :id
      t.timestamps
    end
  end
end
ActiveRecord::Schema.define(version: 20171030104901) do

create_table "issues", force: :cascade do |t|
    t.string "title"
    t.text "description"
    t.integer "assigned_id"
    t.string "tipo"
    t.string "prioridad"
    t.string "estado"
    t.integer "creator_id"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false`enter code here`
    t.index ["assigned_id"], name: "index_issues_on_assigned_id"
    t.index ["creator_id"], name: "index_issues_on_creator_id"
  end
结束

在我得到的表单中,字段创建者必须存在,但我在插入中看到它很好:

参数:
{“utf8”=>“✓", "真实性令牌“=>”2yY/0x6961iIb9PxcyQAKHUSRqEj+ZWQ91UPHIBU9TWJEXQIKMQP3VWZI70FVI2AGTYHPGLJFPDZVZV4CMYG==”,“问题”=>“{”标题“=>”asdsad”,“说明”=>“asdsa”,“创建者id”=>“2”,“tipo”=>“adas”,“优先级”=>“dsdaasd”,“分配的id”=>“3”,“提交”=>“创建问题”
未经允许的参数::创建者\u id
(0.1ms)开始事务处理
用户加载(0.3ms)
选择“用户”。*从“用户”中选择“用户”。“id”=?限制?[[“id”,3],“限制”,1]

(0.1ms)回滚事务


有什么帮助吗?

您的创建者id未被列入白名单:

Unpermitted parameter: :creator_id
你应该把你的控制器代码张贴在你正在做的
params.require(…).permit(…)
的地方,这样我们就可以看到里面有什么了

它应该看起来像:

def issue_params
  params.
    require(:issue).
    permit(:title, :description, :creator_id, :tipo, :prioridad, :assigned_id)
end

如果您使用的是
strong\u参数
gem,那么jvillian的答案就行了。如果没有(这是完全可能的,因为它直到Rails 4才被广泛使用),您可能需要将
attr\u accessible:creator\u id
添加到您的问题模型中