0
我想從另一個視圖中調用一個控制器的方法。 我看到以下帖子Rails call destroy method from within another controller,但我在做我的執行有問題。Rails從不同視圖調用方法
我試圖調用的方法是在訪問器控制器中。
def remove_permission_from_index
Accessor.find(params[:id]).destroy
respond_to do |format|
format.html { redirect_to tasks_url }
format.json { head :no_content }
end
end
該控制器還具有以下強PARAM方法
def accessor_params
params.require(:accessor).permit(:accessor_id, :access_rights, :task_id)
end
我的視圖被調用以下代碼
<%= link_to 'Delete', {:controller => "accessors", :accessor => elem} ,method: :remove_permission_from_index, data: { confirm: "Are you sure?" }%> </p>
其中ELEM一組中的元素,其在任務定義控制器
@canEdit = Accessor.select(:task_id).where("accessor_id = ? AND access_rights = ?", current_user, true)
@canEdit.each do |p|
p.task = Task.find(p.task_id)
當我運行我的代碼,我收到以下錯誤
param not found: accessor
def accessor_params
params.require(:accessor).permit(:accessor_id, :access_rights, :task_id)
end
end
,我可以看到訪問參數是沒有傳遞:
Parameters:
{"_method"=>"remove_permission_from_index"}
一)爲什麼是accessor_params被稱爲如果我試圖訪問不同的方法 b)我做錯了什麼?畢竟我做的設置:accessor => elem
嘿對不起我的評論的延遲,但這些結果在下面的錯誤沒有路由匹配'{:action =>「remove_permission_from_index」,:controller =>「accessors」,:accessor =>#<訪問者id:nil,task_id:12>},任何有關如何映射方法的建議到一條路線? – Quantico