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