Ruby on rails 在Rails的子记录中安装外键时出现问题
问题是,在我更改了INDI(代表个人或“联系人”)的路由生成方式后,Rails无法找到新路由 在我的路由文件中作为此语句的结果 资源:配置文件 资源:印度科学院 结束 这些路线包括: 个人资料Ruby on rails 在Rails的子记录中安装外键时出现问题,ruby-on-rails,foreign-keys,Ruby On Rails,Foreign Keys,问题是,在我更改了INDI(代表个人或“联系人”)的路由生成方式后,Rails无法找到新路由 在我的路由文件中作为此语句的结果 资源:配置文件 资源:印度科学院 结束 这些路线包括: 个人资料 GET /profiles/:profile_id/indis(.:format) indis#index POST /profiles/:profile_id/indis(.:format) indis#create 简介是指公司,INDI是
GET /profiles/:profile_id/indis(.:format) indis#index
POST /profiles/:profile_id/indis(.:format) indis#create
简介是指公司,INDI是指在公司工作的个人
所以我坐在这里看这个新联系人的new.html.erb
<h1>New Contact</h1>
<%= render 'form', indi: @indi %>
<%= link_to 'Back', :back %>
新联系人
为了避免rails路由器使用基本的创建路由,我在路由的顶部有下面一行代码。
资源:incd,:except=>[:create]
沿途
我明白了
没有路线匹配[POST]“/INDI”
提示:我添加了:except代码,因为在我进行更改后旧路由无效
资源:配置文件
资源:印度科学院
结束
现在,当我点击create时,它找不到路线,我也不知道是什么代码
产生
不知何故,我需要修正新的联系人代码,这样当他们点击时,就可以创建到新路线而不是旧路线的路线(但我无法访问新联系人代码中引用的表单的代码。所有这一切的结果是,我无法访问INDI控制器中的外键,因为创建新记录不知道如何将所有参数传递给控制器,特别是它不传递外键。开始考虑渲染“表单”是指o部分。我是rails新手。下面是_form.html.erb顶部的外观,但现在indi依赖于父级,我认为此代码不知道父级键,因此无法t传入外键。我认为发生的事情是,在运行scaffold之后,我更改了模型以添加外键,但我从未更新视图,因此视图不包含新的外键字段params[:profile_id]}%>解决了问题。我去掉了部分,以便更好地理解我必须做的事情。