每个用户的表格

时间:2016-10-06 04:28:22

标签: ruby-on-rails forms

我有一个普通的表单来在/packages/new创建一个Package对象:

<%= form_for @package do |f| %>
    <%= f.text_field :name %>
    <%= f.text_field :address %>
    ...
<% end %>

包裹模型belongs_to :partner

我正在寻找一种方法将新的包形式与特定的合作伙伴相关联,最好不要填写用户的任何输入。

例如,如果合作伙伴A发送了表单链接,我希望该表单包含partner_id:A.id

如何将表单连接到合作伙伴?

3 个答案:

答案 0 :(得分:1)

您可以发送partner_id param以及您的合作伙伴将发送的链接。

这样的东西
http://website.com/packages/new?partner_id=3

在表单

中使用param作为hidden_field
<%= form_for @package do |f| %>
  <%= f.text_field :name %> 
  <%= f.text_field :address %> 
  <%= f.hidden_field :partner_id, value: params[:partner_id] %> 
  ... 
<% end %>

或者您也可以使用Nested Resources

答案 1 :(得分:0)

你可以拥有将partner_id传递给控制器​​的隐藏字段

http://apidock.com/rails/ActionView/Helpers/FormHelper/hidden_field

答案 2 :(得分:0)

如果合作伙伴需要登录,为了创建包,您可以在保存之前将包直接链接到控制器中的合作伙伴。