Ruby Rails,ActionView UrlHelper link_to 新对象

Ruby on Rails, ActionView UrlHelper link_to new object

我有两个型号"projectaim"和"tender",关系:

class Projectaim < ActiveRecord::Base
  has_many :tenders
end

...几乎是标准控制器

...和观点: 假设主对象 @projectaim 已经创建。

在其编辑视图中 edit.html.erb 我必须创建一个 link 以在单独的表单上创建从属 @tender

 <% @tender.projectaim_id = @projectaim.id %>
 <%=link_to "Add new tender", new_tender_path(@tender)%>

你能告诉我如何参数化新的招标行动(或视图)以保持基于模型的关系吗?从技术上讲,我需要在新的招标行动中填写 tender.projectaim_id 项?感谢大家。

在这种情况下,您可能应该使用 nested resources

你的路由文件看起来像这样

resources :projectaims do
  resources :tenders
end

你会像这样link

<%=link_to "Add new tender", new_projectaim_tender_path(@projectaim, @tender)%>

在您的控制器中,除了 params[:id] 之外,您现在还有 params[:projectaim_id]。