Ruby on Rails:为什么当我遍历每个 child 的内容时打印出来?
Ruby on Rails: why does the content of each child print out when I iterate over them?
我有以下型号:
class Question < ActiveRecord::Base
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :question
end
我在问题的 show.html.erb 文件中也有以下代码:
<p id="notice"><%= notice %></p>
<p>
<strong>Name:</strong>
<%= @question.name %>
</p>
<% if @ratings.blank? %>
<p>There are no ratings for this question.</p>
<% else %>
<ul>
<%= @ratings.each do |rating| %>
<li>
<%= rating.name %>
<%= link_to "Show", rating %>
</li>
<% end %>
</ul>
<% end %>
<%= link_to 'Edit', edit_question_path(@question) %> |
<%= link_to 'Back', questions_path %>
相关questions_controller.rb条目如下:
def show
@question = Question.find(params[:id])
@ratings = Rating.where(question_id: @question.id)
respond_with(@question)
end
我一辈子都看不懂为什么输出包含 child objects 的内容,以及我在迭代中创建的无序列表项.有什么想法吗?
尝试删除此行中的 =
:<%= @ratings.each do |rating| %>
在每个循环中使用 - but =
- @pages.each do |x|
p = x.id
p = x.xx
这就是你想要的。
此外,我建议您使用 slim 来代替 erb。
我有以下型号:
class Question < ActiveRecord::Base
has_many :ratings
end
class Rating < ActiveRecord::Base
belongs_to :question
end
我在问题的 show.html.erb 文件中也有以下代码:
<p id="notice"><%= notice %></p>
<p>
<strong>Name:</strong>
<%= @question.name %>
</p>
<% if @ratings.blank? %>
<p>There are no ratings for this question.</p>
<% else %>
<ul>
<%= @ratings.each do |rating| %>
<li>
<%= rating.name %>
<%= link_to "Show", rating %>
</li>
<% end %>
</ul>
<% end %>
<%= link_to 'Edit', edit_question_path(@question) %> |
<%= link_to 'Back', questions_path %>
相关questions_controller.rb条目如下:
def show
@question = Question.find(params[:id])
@ratings = Rating.where(question_id: @question.id)
respond_with(@question)
end
我一辈子都看不懂为什么输出包含 child objects 的内容,以及我在迭代中创建的无序列表项.有什么想法吗?
尝试删除此行中的 =
:<%= @ratings.each do |rating| %>
在每个循环中使用 - but =
- @pages.each do |x|
p = x.id
p = x.xx
这就是你想要的。
此外,我建议您使用 slim 来代替 erb。