我需要使用MVC创建一个部分视图,如果只有一个,它将显示一个项目列表,如果只有一个,则显示一个html表单。
我应该专门为具有以下内容的部分创建一个ViewModel:
def next_numb(n)
x = n + 1
until x % 2 == 1 && x % 3 == 0 && unique_digits?(x)
x += 1
end
x
end
def unique_digits?(num)
num.to_s.split('').uniq == num.to_s.split('')
end
next_numb(13) #=> 15
next_numb(15) #=> 21
next_numb(125) #=> 129
或者我只是发送列表会更好。如果我只是发送列表,我能够将第一个(也是唯一的)项绑定到表单吗?
目标是将单个产品属性绑定到表单(如果只有一个,如果多个循环通过它们并在html表中输出。)
答案 0 :(得分:1)
如果模型包含单个属性,对我来说似乎更简单 - 称之为Products
,因为它是一个集合。在视图中,测试其Count()
并呈现表单或表格。绑定不会成为问题 - 只需First()
。{/ p>即可获取Count() == 1
项
如果您有两个属性,如果它们都有数据,您会怎么做?如果单值属性中的产品与集合中的第一个产品不同,该怎么办?哪一个获胜?
您可以通过在控制器或模型本身中实施业务规则来解决这些问题 - 但如果您只有一个集合,则可以完全避免这些问题。