首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails RABL if else语句

Rails RABL if else语句
EN

Stack Overflow用户
提问于 2013-04-13 05:58:31
回答 2查看 3.5K关注 0票数 5

我在Rails应用程序中使用RABL通过REST访问数据。除了if语句之外,它还在运行。

我得到了这个错误:

代码语言:javascript
复制
undefined local variable or method `matitem_id'

这是我的show.json.rabl代码:

代码语言:javascript
复制
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
end

UPDATE1

我也试过了

代码语言:javascript
复制
if @expense.matitem_id != nil
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-13 06:56:32

如果matitem_id@expense对象的属性,则应通过root_object帮助器在条件中引用它,如下所示:

代码语言:javascript
复制
if root_object.matitem_id
  child :matitem do |matitem|
    attributes :id, :itemnum
  end
end

此外,!= nil可能是冗余的。

票数 9
EN

Stack Overflow用户

发布于 2013-04-13 06:04:53

这一行:

if :matitem_id != nil

从字面上将符号:matitem_id比作nil。这永远不会是真的。您需要做的是比较子对象的ID。您可以将对象传递到块中:

代码语言:javascript
复制
child :matitem do |matitem|
  if matitem.id != nil
    ...
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15981527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档