2012-07-29 49 views
0

我試圖讓分隔成用戶根據他們在註冊時選擇的運動不同類別的頁面。我目前正試圖用兩個不同的部分來做。我遇到的問題是我不能有兩個單獨的部分使用相同的模型。我將如何做到這一點?如何使多個諧音使用相同型號

+0

如果你告訴我們,你的代碼,我們可以告訴你,你在做什麼錯。 – Mischa 2012-07-30 02:46:08

回答

1

嗯。部分只是一種將多個較小文件中的html.erb代碼分開並可能在各種視圖之間重複使用它們的方法。

如果你想在一個視圖中的分離,是新的軌道,我會嘗試沒有諧音,直到它的工作(也許只是兩個類別)。

然後,你可以將重複的代碼到泛音和重用他們,當然你可以使用所有型號那裏。也許你只是沒有意識到可以將參數傳遞給partials?像,如果被@feed_item變量由控制器(或任何其它變量)

<%= render 'shared/feed_item_raw', feed_item: @feed_item %> 

並設置然後在部分簡單地引用它與feed_item

+0

首先,我試圖修改Michael Hartl的rails教程中的示例應用程序。問題是我不能有兩個部分使用相同的模型信息。我得到一個「未定義的局部變量或方法'用戶'」錯誤。我認爲部分自動繼承了 – rockyroadster555 2012-07-29 21:12:34

+0

部分或視圖不會繼承模型的任何文件夾的模型。在視圖中,所有控制器實例變量都可用。對於部分,您可以傳遞變量,正如我在上面的答案中所指出的那樣,如果您需要訪問該模型,則需要執行此操作。 – bento 2012-07-29 21:23:30

0

使用這樣的:

render :partial => 'partial_path', :locals => {:user => your_user_object} 
0

我有一個模型,客戶,有不同的狀態。我需要使它們在同一個頁面

<%= render(partial: "active_clients", collection:@active_clients) || "No active clients yet." %> 
    <%= render(partial: "inactive_clients", collection:@unactive_clients) || "No inactive clients yet." %> 

那些去各自的觀點部分的不同部分。

然後在我看來/客戶文件夾我創建了兩個不同的諧音,因爲每個部分略有不同。

_active_clients.html.erb 
_inactive_clients.html.erb 

的泛音一個看起來像這裏面:

<li> 
     <input class="checkbox" checked="checked" type="checkbox"/> 
     <%= link_to "#{active_clients.firstname} #{active_clients.lastname}", dashboard_path %> 
    </li> 

複選框中其他部分沒有「選中」。這是唯一的區別。

在我clients_controller index動作

我分隔的兩個數組是這樣的:

def index 
    @active_clients = current_trainer.active_clients 
    @inactive_clients = current_trainer.inactive_clients 
end 

最後一塊是教練機模型內部...

def active_clients 
    self.clients.where(status: true) 
end 

def inactive_clients 
    self.clients.where(status: false) 
end  

這就像一個魅力的我。我希望幫助...

相關問題