I’m have some difficulties here, I am unable to successfully call a method which belongs to a ProjectPage model in the ProjectPage controller.
I have in my ProjectPage controller:
def index
@searches = Project.published.financed
@project_pages = form_search(params)
end
And in my ProjectPage model:
def form_search(searches)
searches = searches.where('amount > ?', params[:price_min]) if check_params(params[:price_min])
@project_pages = ProjectPage.where(:project_id => searches.pluck(:'projects.id'))
end
However, I am unable to successfully call the form_search method.
To complete davidb’s answer, two things you’re doing wrong are:
1) you’re calling a model’s function from a controller, when the model function is only defined in the model itself. So you do need to call
and define the function with
2) you’re calling params from the model. In the MVC architecture, the model doesn’t know anything about the request, so params is not defined there. Instead, you’ll need to pass the variable to your function like you’re already doing…