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 に答える