2016-03-17 59 views
2

我有一個觀點調用此:Rails的渲染部分與集 - 不能訪問收集

 <%= render 'health_safety/access_requests/access_request_user', collection: @access_request_users %> 

而在_access_request_user.html.erb試圖使用集合,例如

<%= p access_request_user.inspect %> 

而且我得到以下錯誤:

undefined local variable or method `access_request_user' for #<#<Class:0x007fc8f0160790>:0x007fc8ebf70100> 

我絕對難倒,嘗試的事情,但沒有什麼是工作堆。如果它有所作爲,@access_request_users是從數據庫中拉出的一堆User對象。

+0

你可以訪問它的形式使用Rails控制檯終端? > rails c – zee

+0

我不知道如何在控制檯中對它進行測試,因爲我需要渲染才能使@access_request_users變成一個新的渲染器,每個渲染器都有一個access_request_user變量。 – Mirror318

+0

更新:如果我重命名部分'health_safety/users/_user',那麼我可以簡單地調用'render @ access_request_users'並且它找到'_user'部分(因爲它是我猜的用戶集合)。但我不想使用'health_safety/users'文件夾,我想用它來做其他事情。 – Mirror318

回答

2

嘗試定義呈現爲局部的,如果僅此一點不起作用嘗試定義變量的名稱:

<%= render partial: 'health_safety/access_requests/access_request_user', collection: @access_request_users, as: :access_request_user %> 
+2

我在這個聲明中跳舞了很長時間,但由於某種原因從未嘗試過這種確切的語法。謝謝! – Mirror318