I am pretty new in rails and honestly, I am struggling with queries even after multiple researchs. Here is my simple schema:
So basically, a question has many options, an option belongs to a question and has many answer, and an answer belongs to an option and has many users.
I don't think it s necessary to post the models code since it is just like i mentioned above.
What i would like to do is given a question option, see if a particular user already checked it (so look in the answer table if there is a row matching a given id_option, user_id and user_type). So in my haml loop, when displaying the different question option, i'm calling a method of my question_option model just like this :
- question.question_option.all.each do |option| #{option.title} .check - if option.selected_by(current_actor) = check_box_tag(option.id, "checked",true, class: 'styled-checkbox') - else = check_box_tag(option.id, "checked",false, class: 'styled-checkbox') and the method called :
def selected_by(answerer) answer_match = ::Vacancies::QuestionOption .joins(:answers) .where(answerer_id: answerer.id, answerer_type:answerer.type ) response = answer_match.find(self.id) return response end This method is located in my QuestionOption model and leads to no errors but it s not working ever. Can you help me transform this query to make it work with ActiveRecord ? Thanks
