我有一個has_many & belongs_to公司和worker之間的關聯。我希望能夠通過我的工作人員索引頁面中的鏈接將工作人員添加到公司。我想要保存屬於登錄公司的工作人員記錄,並使用添加到其工作人員的新工人更新公司/工人索引頁面。從不同的模型視圖創建記錄(不涉及新行爲)
我一直無法做到這一點。這裏是正在發生的事情:
我的路線有類似:
namespace :company do
resources :workers, :only => [:index, :create]
end
resources :workers
我有了在我的控制器公司獲得令牌的Cookie會話的before_action方法:
的ApplicationController:
@company = Company.find_by_access_token("vZAni6K6")
cookies[:access_token] = @company.access_token
And Company :: WorkersController
render :file => "public/401.html", :layout => nil, :status => :unauthorized and return if cookies[:access_token] != @company.access_token
在我的工人/ index.html.haml路,我有:
= "There are #{@workers.count} workers!"
They are:
- @workers.each do |worker|
= worker.name
= link_to "Hire a worker", company_workers_path(:worker_id => worker), :method => :post
%%br
%p= @company.name
我希望能夠點擊「僱用工人鏈接」,然後被重定向到公司/ workers.html .haml路徑,然後將列出他們的工作人員更新最近添加的工作人員剛剛通過鏈接添加。而不是要帶我去公司/工人路
當我目前點擊鏈接(以數據庫爲說工人#2)它需要我
company/workers?worker_id=2
而且它不會工人保存到與公司的關係。
我公司/工人控制器有以下幾點:
def create
@worker = @company.worker.build(:worker_id => params[:worker_id])
@worker.save
redirect_to :action => 'index'
end
記得我有我的控制器一before_action,調用其他控制器方法以及前保存@company實例變量。
我有一個model屬於某公司的模型&模型has_many工作人員的公司,我已經在遷移中添加了引用密鑰。
什麼問題?爲什麼奇怪的路線,爲什麼我的記錄沒有保存,我是一個新手,所以原諒這個簡單的問題。
這並沒有解決問題,現在URL與公司/ workers.id完成,但仍然沒有保存工人到公司 – coderwannabe2
你可以把你的模型的代碼?所以我可以更好地看到你的實現。 – Moh