我在Rails应用程序中使用RABL通过REST访问数据。除了if语句之外,它还在运行。
我得到了这个错误:
undefined local variable or method `matitem_id'这是我的show.json.rabl代码:
object @expense
attributes :id, :unitcost, :quantity, :markup, :exp_date, :created_at, :description, :pcard, :invoice
child :employee do
attributes :id, :maxname
end
child :vendor do
attributes :id, :vendor_name
end
if matitem_id != nil
child :matitem do |matitem|
attributes :id, :itemnum
end
endUPDATE1
我也试过了
if @expense.matitem_id != nil发布于 2013-04-13 06:56:32
如果matitem_id是@expense对象的属性,则应通过root_object帮助器在条件中引用它,如下所示:
if root_object.matitem_id
child :matitem do |matitem|
attributes :id, :itemnum
end
end此外,!= nil可能是冗余的。
发布于 2013-04-13 06:04:53
这一行:
if :matitem_id != nil
从字面上将符号:matitem_id比作nil。这永远不会是真的。您需要做的是比较子对象的ID。您可以将对象传递到块中:
child :matitem do |matitem|
if matitem.id != nil
...
endhttps://stackoverflow.com/questions/15981527
复制相似问题