Ruby on rails Rails,是否可以将参数从控制器传递到模型方法?
在我的模型中,我有几个类似的命名方法来启用/禁用某些功能,如:Ruby on rails Rails,是否可以将参数从控制器传递到模型方法?,ruby-on-rails,ruby-on-rails-3,methods,model,refactoring,Ruby On Rails,Ruby On Rails 3,Methods,Model,Refactoring,在我的模型中,我有几个类似的命名方法来启用/禁用某些功能,如: def invisible self.update_attribute(:invisble, false) end def visible self.update_attribute(:invisble, true) end 是否可以将其重构为单个方法并从控制器传递参数?还是有更好的方法来处理这些问题 您可以这样做: def set_visibility(param) self.update_
def invisible
self.update_attribute(:invisble, false)
end
def visible
self.update_attribute(:invisble, true)
end
是否可以将其重构为单个方法并从控制器传递参数?还是有更好的方法来处理这些问题 您可以这样做:
def set_visibility(param)
self.update_attribute(:invisible, param == "true")
end
在控制器中:
@object.set_visibility(params[:visible])
这就是你的意思吗?就像那样,将param==default移到def lineOne中,考虑命名约定。可以使用is_visible方法来检查返回true或false(或者更好地使用just visible?)。def可见性是否应重命名为def set_可见性?不确定命名约定,但感谢您的回答,如果您更新了方法名称,我们将在10分钟内接受,不确定是否最好创建另一个方法
可见?
。