перечисление только вопросов коррелирует с пользователем в rails 3

I have the following models:
  • USER
  • SURVEY
  • DIMENSION
  • QUESTION

    The following relationships:

  • USER (has_many) -> SURVEYS

  • SURVEY (has_many) -> DIMENSIONS
  • DIMENSION (has_many) -> QUESTIONS

    ===============================

    I need to list the QUESTIONS only for one USER. For example: The USER with id = 1 was login. So will just list the QUESTIONS that USER.

    I tried with sql manually using INNER JOINS, but I could not. Can anyone give me a hint. I also tried with @question.dimension.survey.user_id = @current_user , but had not success

Благодаря

1

6 ответы

The below query will work for sure. Try this.

@questions = current_user.surveys.map{|d| d.dimensions}.map{|q| q.questions}
If you give the current user manually, you can go like this
@questions = User.find(1).surveys.map{|d| d.dimensions}.map{|q| q.questions} for user id=1

0
добавлено
В соответствии с идентификатором пользователя (т.е. «1») вы можете написать как @questions = User.find (1) .surveys.map {| d | d.dimensions} .map {| д | q.questions}
добавлено автор VenkatK, источник
не работает. не работает. Послушайте, я хочу перечислить ВОПРОСЫ только в поле USER, и все они появляются здесь.
добавлено автор nosbielcs, источник
Я решил хорошо, я не знаю, если это лучший способ:
добавлено автор nosbielcs, источник

The below query will work for sure. Try this.

@questions = current_user.surveys.map{|d| d.dimensions}.map{|q| q.questions}
If you give the current user manually, you can go like this
@questions = User.find(1).surveys.map{|d| d.dimensions}.map{|q| q.questions} for user id=1

0
добавлено
В соответствии с идентификатором пользователя (т.е. «1») вы можете написать как @questions = User.find (1) .surveys.map {| d | d.dimensions} .map {| д | q.questions}
добавлено автор VenkatK, источник
не работает. не работает. Послушайте, я хочу перечислить ВОПРОСЫ только в поле USER, и все они появляются здесь.
добавлено автор nosbielcs, источник
Я решил хорошо, я не знаю, если это лучший способ:
добавлено автор nosbielcs, источник

The below query will work for sure. Try this.

@questions = current_user.surveys.map{|d| d.dimensions}.map{|q| q.questions}
If you give the current user manually, you can go like this
@questions = User.find(1).surveys.map{|d| d.dimensions}.map{|q| q.questions} for user id=1

0
добавлено
В соответствии с идентификатором пользователя (т.е. «1») вы можете написать как @questions = User.find (1) .surveys.map {| d | d.dimensions} .map {| д | q.questions}
добавлено автор VenkatK, источник
не работает. не работает. Послушайте, я хочу перечислить ВОПРОСЫ только в поле USER, и все они появляются здесь.
добавлено автор nosbielcs, источник
Я решил хорошо, я не знаю, если это лучший способ:
добавлено автор nosbielcs, источник

Я решил хорошо, я не знаю, лучший ли это (в app/controller/question_controller.rb):

<% @questions.each do |question| %>
<% if (question.dimension.survey.user_id == @current_user.id) %>
<tr>
<td><%= question.dimension.survey.user.name %></td>
<td><%= question.dimension.survey.title %></td>
<td><%= question.dimension.name %></td>
<td><%= question.question %></td>
<td><%= question.order %></td>
<td><%= question.status %></td>
<td><%= link_to 'Show', question %></td>
<td><%= link_to 'Edit', edit_question_path(question) %></td>
<td><%= link_to 'Destroy', question, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
<% end %>
0
добавлено

Я решил хорошо, я не знаю, лучший ли это (в app/controller/question_controller.rb):

<% @questions.each do |question| %>
<% if (question.dimension.survey.user_id == @current_user.id) %>
<tr>
<td><%= question.dimension.survey.user.name %></td>
<td><%= question.dimension.survey.title %></td>
<td><%= question.dimension.name %></td>
<td><%= question.question %></td>
<td><%= question.order %></td>
<td><%= question.status %></td>
<td><%= link_to 'Show', question %></td>
<td><%= link_to 'Edit', edit_question_path(question) %></td>
<td><%= link_to 'Destroy', question, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
<% end %>
0
добавлено

Я решил хорошо, я не знаю, лучший ли это (в app/controller/question_controller.rb):

<% @questions.each do |question| %>
<% if (question.dimension.survey.user_id == @current_user.id) %>
<tr>
<td><%= question.dimension.survey.user.name %></td>
<td><%= question.dimension.survey.title %></td>
<td><%= question.dimension.name %></td>
<td><%= question.question %></td>
<td><%= question.order %></td>
<td><%= question.status %></td>
<td><%= link_to 'Show', question %></td>
<td><%= link_to 'Edit', edit_question_path(question) %></td>
<td><%= link_to 'Destroy', question, method: :delete, data: { confirm: 'Are you sure?' } %>
</td>
</tr>
<% end %>
<% end %>
0
добавлено
DBA - русскоговорящее сообщество
DBA - русскоговорящее сообщество
1 345 участник(ов)

Общаемся и обсуждаем темы, посвященные DBA, PostgreSQL, Redis, MongoDB, MySQL, neo4j, riak и т.д. См. также: @devops_ru, @kubernetes_ru, @docker_ru, @nodejs_ru Рекомендуем сразу отключить уведомления, чтобы пребывание здесь было полезным и комфортным.

pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

MySQL
MySQL
995 участник(ов)

The group is about MySQL. For code use hastebin.com. Admin: @smlkw

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff