有没有办法干掉PointRules类?我试过了,但它没有工作:
%w(attr1 attr2 attr3).each do |attribute|
score 10, on: 'comments#create', do |comment|
comment.attribute.present?
end
end
它给了我这个错误:
private method `attribute' called for...
最终编辑:
下面提供的答案有用,你可以通过这样的方式进一步干你的代码:
%w(attr1? attr2? attr3?).each do |attr|
score 5, on: ['comments#update', 'users#update'] do |item|
item(attr).call
end
score 10, on: ['comments#create', 'users#create'] do |item|
item(attr).call
end
score 15, on: ['comments#delete', 'users#delete'] do |item|
item(attr).call
end
end
答案 0 :(得分:4)
对不起等待:(
这是一个可以帮助您的解决方案
%w(attr1? attr2? attr3?).each do |attr|
score 10, on: 'comments#create', do |comment|
comment.method(attr).call
end
end
Active Record为您的所有列添加布尔方法,这就是我在列上使用问号的原因。
如果您有任何疑问,请与我们联系。