これは小さな質問です。私のスキーマには、学生テーブルと分類テーブルがあります。モデル/テーブルの関係は、私がそうする方法で接続されています
@student = Student.first.classifieds.all
Railsコンソールで、この特定の学生のすべてのクラシファイド広告を取得します
[#<Classified id: 3, ad_content: "在BC附近BU也可以、需要女生一起租房子、看了几处、俩人去租非常合算、限女生", ad_title: "BU和BC旁边的房子求室友一起租 ", student_id: 16, created_at: "2013-09-17 19:20:43", updated_at: "2013-09-17 19:49:31", location: "Allston">, #<Classified id: 1, ad_content: "Malden Towers 宽敞客厅出租,附带阳台,窗外是公寓的花园,客厅可用窗帘或木板隔开, 每月4...", ad_title: "Malden Towers 客厅出租 400/月", student_id: 16, created_at: nil, updated_at: "2013-09-17 19:47:55", location: "Malden">]
特定の条件でレコードをフィルター処理しようとしているため、この特定の条件を満たすレコードのみをビューに渡すことができるため、その特定のページに表示されます。
場所がmaldenと等しい場合のみレコードを表示したい。
私の students_controller.rb にはこれがあります
def malden_index
@student = Student.first
for classified in @student.classifieds.all
return classified if classified['location'] == 'Malden'
end
私はこれを私の見解に持っています
<%= classified.ad_content %>
このエラーが発生しています
undefined local variable or method `classified'
3つの質問があります
- ビューに条件を追加できますか? またはそれは私のコントローラーにある必要がありますか?
- 私のレコードは配列データ型で返されますか?
- 私のコードの問題は何ですか? (かなり単純だと思います)(分類は各レコードである必要があり、ロケーションキーがmaldenに等しい場合にのみレコードを返します)