Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未定义的方法';数据库字段';对于';型号';_Ruby On Rails_Actioncontroller - Fatal编程技术网

Ruby on rails 未定义的方法';数据库字段';对于';型号';

Ruby on rails 未定义的方法';数据库字段';对于';型号';,ruby-on-rails,actioncontroller,Ruby On Rails,Actioncontroller,错误:从窗体中抛出 undefined method `profession_id' for #<DirectoryMember:0xa12be40> form.html.erb <%= f.collection_select(:profession_id, @professions, :id, :title, {:include_blank => true, :prompt => true}) %> 目录_members.rb @professions

错误:从窗体中抛出

undefined method `profession_id' for #<DirectoryMember:0xa12be40>
form.html.erb

<%= f.collection_select(:profession_id, @professions, :id, :title, {:include_blank => true, :prompt => true}) %>
目录_members.rb

@professions = Profession.all.order(:title)

def directory_member_params
  params.require(:directory_member).permit(
  :user_id, 
  :directory_id, 
  :name, 
  :company, 
  :profession_id, 
  :address, 
  :phone, 
  :facebook, 
  :video, 
  :twitter, 
  :linkedin, 
  :google_plus, 
  :youtube
  )
end
schema.rb

create_table "directory_members", force: :cascade do |t|
  t.integer  "user_id"
  t.integer  "directory_id"
  t.string   "name"
  t.string   "company"
  t.text     "address"
  t.string   "phone"
  t.string   "facebook"
  t.string   "video"
  t.string   "twitter"
  t.string   "linkedin"
  t.string   "google_plus"
  t.string   "youtube"
  t.datetime "created_at",    null: false
  t.datetime "updated_at",    null: false
  t.integer  "profession_id"
end
我已经运行了rakedb:migrate,在呈现页面之前,一切看起来都很好。
任何关于这为什么会抛出错误的线索都将是可怕的。在控制台中感谢您:
directory\u member=DirectoryMember.first;directory\u member.profession\u id
您得到了什么?显示您的directory\u member和profession Model代码似乎很好,而您的服务器似乎没有接收迁移。您可以通过在控制台中运行
$rails runner“puts DirectoryMember.column\u names”
来调试它。如果您写出遇到错误时所采取的确切步骤,我们可能会更好地帮助您。您是通过查看开发服务器或产品上的页面,甚至是minitest/rspec测试来测试这一点的吗?刚刚回到办公室,运行了“rails runner”建议。profession\u id出人意料地出现了,所以我刷新了页面,现在一切都正常了,所以除了让4个小时过去之外,什么都不做,似乎都可以修复没有连接的东西,当然,除非运行该命令重新初始化了所有东西。在控制台中,如果你这样做:
directory\u member=DirectoryMember.first;directory\u member.profession\u id
您得到了什么?显示您的directory\u member和profession Model代码似乎很好,而您的服务器似乎没有接收迁移。您可以通过在控制台中运行
$rails runner“puts DirectoryMember.column\u names”
来调试它。如果您写出遇到错误时所采取的确切步骤,我们可能会更好地帮助您。您是通过查看开发服务器或产品上的页面,甚至是minitest/rspec测试来测试这一点的吗?刚刚回到办公室,运行了“rails runner”建议。Professional_id出人意料地出现了,所以我刷新了页面,现在一切都正常了,所以除了让4个小时过去之外,什么都不做,似乎可以修复任何没有连接的东西,当然,除非运行该命令重新初始化了一切。
@professions = Profession.all.order(:title)

def directory_member_params
  params.require(:directory_member).permit(
  :user_id, 
  :directory_id, 
  :name, 
  :company, 
  :profession_id, 
  :address, 
  :phone, 
  :facebook, 
  :video, 
  :twitter, 
  :linkedin, 
  :google_plus, 
  :youtube
  )
end
create_table "directory_members", force: :cascade do |t|
  t.integer  "user_id"
  t.integer  "directory_id"
  t.string   "name"
  t.string   "company"
  t.text     "address"
  t.string   "phone"
  t.string   "facebook"
  t.string   "video"
  t.string   "twitter"
  t.string   "linkedin"
  t.string   "google_plus"
  t.string   "youtube"
  t.datetime "created_at",    null: false
  t.datetime "updated_at",    null: false
  t.integer  "profession_id"
end