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]。
我有两个型号"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]。