我对rails还是有点陌生,所以如果这真的很容易,请原谅我。
我正在开发一个演示 CRM,它允许用户创建并拥有许多客户。但是,我也希望同一用户能够分配其他用户在该客户端上工作。添加后,任何用户都可以将其他用户添加到客户端。我对允许这样做的适当控制器操作有什么困难。
我目前有 has_many through: 关系如下:
class User < ActiveRecord::Base
has_many :cases
has_many :clients, through: :cases
end
class Client < ActiveRecord::Base
has_many :cases
has_many :users, through: :cases
end
class Case < ActiveRecord::Base
belongs_to :user
belongs_to :client
end
目前,我希望这样当您看到客户端页面 (show.html.erb) 时,您可以将人员添加到 @client.users。
到目前为止我有这个:
class ClientsController < ApplicationController
def show
@client = Client.find(params[:id])
@users = User.all
end
def add_user_to
@client = Client.find(params[:id])
@selected_user = (params[:user_id])
@client.users << @selected_user
end
end
我正在使用 add_user_to_client_path 的 post 方法的路由
我用来提交的表单在 show.html.erb 中,如下所示:
<%= form_tag(add_user_to_client_path, method: :post) do %>
<%= select_tag options_from_collection_for_select(User.all, "id", "first_name") %>
<%= submit_tag "Add Client Member", class: "btn btn-large btn-primary" %>
<% end %>
谁能指出我能做什么的正确方向?我已经坚持了几天了。