0

我有两个模型“商店”和“供应商”。我创建了一个名为“Partnerships”的单独连接模型,因此一个商店可以有很多供应商,而供应商可以有很多商店。当用户登录时,他们隶属于商店或供应商。我希望他们能够建立伙伴关系。根据我的研究,我认为我已经完成了模型,但我似乎无法正确设置控制器。大多数在线示例仅显示模型而不显示控制器。

class Store < ActiveRecord::Base
  attr_accessible :industry, :name
  has_many :users
  has_many :workorders
  has_many :locations
  has_many :partnerships
  has_many :vendors, :through => :partnerships

   class Vendor < ActiveRecord::Base
      attr_accessible :industry, :name
      has_many :users
      has_many :workorders
      has_many :locations
      has_many :partnerships
      has_many :stores, :through => :partnerships

class Partnership < ActiveRecord::Base
  belongs_to :store
  belongs_to :vendor
  attr_accessible :store_id, :vendor_id, :store, :vendor

这是我当前的 partners_controller#new,我在测试期间遇到类型不匹配错误。

if params[:store_id] 
    @store = Store.where(:id => params[:store_id])
    @partnership = Partnership.new(store: @store)
  else
    flash[:error] = "Store partnership required"
  end

这是我的 new.html.erb for Partnerships:

<% if flash[:error] %>
  Not found.
<% else %>
  <% if current_user.affiliation == 'Vendor' %>
  <div class="page-header">
    <h1> <%= @store.name %></h1>
  </div>
  <% else %>
  <div class="page-header">
    <h1> <%= @vendor.name %></h1>
  </div>
  <% end %>
<% end %>

我的用户模型包括一个“商店”或“供应商”的隶属关系字段以及一个 company_id 字段。

如果我是 affiliation = 'Store' 的用户,我的控制器会如何创建新的合作伙伴关系?我会在合作伙伴控制器中执行此操作吗?

4

0 回答 0