我有两个型号:Client和Vlan。当通过创建“客户端”从视图中“f.select”时,我需要将Vlan标记为“活动”。 这里有一些来自模型的代码:
class Client < ActiveRecord::Base
has_many :vlans
end
class IP < ActiveRecord::Base
belongs_to :client
end
进行迁移(可能是错误的方式):
class AddClientIdToIPs < ActiveRecord::Migration
def change
add_belongs_to :vlans, :client
end
end
在Vlan模型中有一个client_id,在客户端模型中有一个vlan_id。
在clients_controller中我已经:
def create
@client = Client.new(client_params)
respond_to do |format|
if @client.save
format.html { redirect_to clients_path, notice: 'Success.' }
#format.json { render action: 'show', status: :created, location: @client }
else
format.html { render action: 'new' }
format.json { render json: @client.errors, status: :unprocessable_entity }
end
end
end
通过创建“客户端”,我成功选择了vlan并在DB中更新(作为vlan_id),但是我必须看到哪个客户端绑定到vlan,所以我必须在Vlan模型中编写/更新client_id。
怎么做?我认为我的迁移/分析方式是错误的,但也许控制器也是错误的。