这应该是一个小问题。我的架构中有一个学生表和一个分类表。模型/表格关系以某种方式挂钩,当我这样做时
@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'
我有三个问题
- 我可以在我的视图中添加条件吗?还是必须在我的控制器中?
- 我的记录是否以数组数据类型返回给我?
- 我的代码有什么问题?(我认为它很简单)(分类应该是每条记录,然后只有当位置键等于malden时才返回记录)