Call a model method in a Controller

前端 未结 3 1305
一向
一向 2021-01-31 02:34

I\'m have some difficulties here, I am unable to successfully call a method which belongs to a ProjectPage model in the ProjectPage contro

3条回答
  •  长发绾君心
    2021-01-31 03:09

    Three thing:

    1.) When you want to create a class wide method thats not limited to an object of the class you need to define it like

    def self.method_name
      ..
    end
    

    and not

    def method_name
      ...
    end
    

    2.) This can be done using a scope with lambda these are really nice features. Like This in the model add:

    scope :form_search, lambda{|q| where("amount > ?", q) }
    

    Will enable you to call

    Project.form_search(params[:price_min])
    

    The secound step would be to add a scope to the ProjectPage model so everything is at the place it belongs to!

    3.) When you call a Class method in the Controller you need to specifiy the Model like this:

    Class.class_method
    

提交回复
热议问题