0

这应该是相当简单的......

我有推荐 has_many 资产。

我想限制用户为每个推荐添加 3 个资产,我可以简单地通过限制显示的字段数量来做到这一点。

在控制器中的新操作中,我正在做一个非常简单的操作:

3.times {@recommendation.assets.build}

在我的编辑操作中,我试图构建逻辑来决定要显示多少个字段:

@assets = @recommendation.assets.all
if @assets.empty?
  3.times {@recommendation.assets.build}
else
  asset_loop = @assets.count - 3 
  asset_loop.times {@recommendation.assets.build}
end   

if 有效,但 else 无效。我怎样才能使这项工作?

4

1 回答 1

1

如果我理解你的目标,你只需要改变

asset_loop = @assets.count - 3

asset_loop = 3 - @assets.count

如果您想真正执行限制,请确保验证传入数据。否则,您将受到任何拥有 Web 控制台和 curl 的人的摆布。

于 2012-12-19T19:39:13.207 回答