Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 从迭代rails 3中获取特定项_Ruby On Rails_Ruby_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails 从迭代rails 3中获取特定项

Ruby on rails 从迭代rails 3中获取特定项,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,我正试图找到一种方法来提取分配给某门课程的所有笔记,但只有在必要的时候。我有一个展示页面,上面展示了测验的所有笔记 course show.html.erb <%= @course.name %> <% @quiz.notes.each do |note| %> <%= link_to note.title, quiz_note_path(@quiz, note) %><br/> <% end %> 上面的代码可以找到

我正试图找到一种方法来提取分配给某门课程的所有笔记,但只有在必要的时候。我有一个展示页面,上面展示了测验的所有笔记

course show.html.erb

<%= @course.name %>
<% @quiz.notes.each do |note| %>
    <%= link_to note.title, quiz_note_path(@quiz, note)  %><br/>
<% end %>


上面的代码可以找到,除了它提取所有的笔记,而不是分配给该课程的笔记。如果note和course name相等,我如何告诉rails只拉便条

更新

在new.html.erb注释中,我正在使用集合\u select

  <%= f.collection_select(:course_ids, @quiz.courses, :id, :note_name, options = {:prompt => "Choose"}) %>
“Choose”})%%>

试试这样的方法

<%= @course.name %>
<% @quiz.notes.select { |n| n.title == @course.name }.each do |note| %>
  <%= link_to note.title, quiz_note_path(@quiz, note)  %><br/>
<% end %>



可枚举。选择
将计算块并仅返回其为真的元素。

似乎在
课程
测验
之间没有关系

一门
课程
有许多
测验
测验
有许多
笔记
。您应该这样设置您的关系,这样它就不会引出与当前
课程不相关的不必要的注释

这里的诀窍是使用
has\u many:through
提取课程内的所有笔记

class Course < ActiveRecord::Base
  has_many :quizzes
  has_many :notes, :through => quizzes
end

class Quiz < ActiveRecord::Base
  has_many :notes
end

class Note < ActiveRecord::Base
  belongs_to :quiz
end

<%= @course.name %>
<% @course.notes.each do |note| %>
    <%= link_to note.title, quiz_note_path(note.quiz, note)  %><br/>
<% end %>
课程测验
结束
课堂测验

您的数据模型是什么样子的?从你们的例子来看,这个测验似乎有很多笔记。你正在反复阅读所有的测验笔记。如果你的课程也有很多笔记,你应该在你的模型中定义它,这样你就可以使用@course.notes.each@c0deNinja,即使在使用collection\u select时,它也会起作用吗?它不会给我一个错误,但没有显示任何内容。对于笔记,我使用collection_select字段获取课程名称。为什么它不显示课程下的笔记?