我有recs,属于列表,列表,有很多recs。我想弄清楚为什么我不能打电话给我的' to_do'属于列表的recs下面的方法?这是第二行视图代码。我收到以下错误:
SQLite3 :: SQLException:near")":语法错误:SELECT" recs"。* FROM" recs"在哪里" recs"。" list_id" =? AND(完成='假'))
Rec Model
class Rec < ActiveRecord::Base
belongs_to :list
scope :to_do, lambda {where("done = ?)", 'false')}
end
列表模型
class List < ActiveRecord::Base
has_many :recs
end
控制器
def index
@recs = Rec.to_do
@lists = List.all
@networks = Network.all
end
查看
<% network.lists.eat_lists.each do |list| %>
<% if list.recs.to_do.present? %>
<%= list.name %></br>
<% list.recs.each do |rec| %>
<%= rec.name.split(',').first %>
<%= rec.notes %>
<%= rec.done %>
<%= link_to 'Done', marked_as_done_url(rec), method: :patch %></br>
<%= link_to 'Delete', rec, method: :delete %></br>
<% end %>
<% end %>
<% end %>
答案 0 :(得分:0)
将您的范围更改为此scope :to_do, lambda {where("done = ?", false)}
或scope :to_do, lambda {where(done:false}
,请注意我已删除字符串中的一个结束括号