2011-11-03 56 views
0

我對RoR很陌生,所以這可能是一個愚蠢的問題,但有沒有 以任何方式將與一個控制器關聯的數據拖入視圖中的表單 另一個?如何從與不同控制器相關聯的表中調用數據

我有2個控制器,homesubjects和我有一個模型subject(可能是後見之明一個糟糕的選擇)。我在我的數據庫中有一個名爲subjects的表,該表中的一個表名爲text我想從該列中將數據拉入我的homesubjects視圖,我可以在subjects視圖中正常工作,但我無法獲得它在home視圖中工作。
我與

def index
@subjects = Subject.order("subjects.position ASC")
end

的科目控制器 和

<tr>
<th>Text</th>
<td><%= @subject.Text %></td>
</tr>
在視圖中。

如果您需要更多信息,請告知我,謝謝。

+0

遺憾的是痛苦的,但可以請添加關於您的兩個模型的更多信息?最好使用您在應用中提供的名稱,謝謝。 – stephenmurdoch

+1

這是否使它更清晰? – Aaronrobeson

+0

是的,謝謝,我在下面回答,我認爲這會有所幫助。讓我知道,如果它不 – stephenmurdoch

回答

1

把這個在你看來

<% for subject in @subjects %> 
    <tr> 
    <th>Text</th> 
    <td><%= subject.text %></td> 
    </tr> 
<% end %> 

請注意,我用的subject,而不是@subject內環路,並.text不大寫,如代碼

+1

你是我最喜歡的人:)它的工作完美,謝謝你的幫助。 – Aaronrobeson

0

控制器僅按照約定與表關聯。

模型與表相關聯,並且您可以在控制器中使用任何模型。

+0

所以如果在AController的看法我調用數據與'<%= form_for(@subject,:html => {:multipart => true})do | f | %> \t <%=渲染(:局部=> 「形式」,:當地人=> {:F => F})%> <%= f.label(:文本)%> ​​<%= f.text_field(:Text)%> '那麼我該怎麼做呢? – Aaronrobeson

+0

我在控制器中用'@subjects = Subject.order(「subjects.position ASC」)調用了'@ subjects',但是如果我試圖在另一個控制器中這樣做,它會給我一個錯誤信息** undefined方法'model_name'爲NilClass:Class ** – Aaronrobeson

相關問題