Ruby on rails rails在链接记录中循环
在完成了许多rails教程之后,这是我的第一个单独项目 我有两个模型,一个控制顶级记录(lesson.rb),另一个通过carrierWave(attachment.rb)控制相关图像。我正在尝试循环浏览链接的图像,并在帖子中显示它们 到目前为止,我已经创建了资产,但是我很难弄清楚如何在show.html.erb中显示连接的图像。如果答案很简单,请原谅我,我在谷歌上搜索了很多,虽然我发现了很多结果,但我仍然很难将这些方法应用到我的项目中 提前感谢你的帮助 /models/lesson.rbRuby on rails rails在链接记录中循环,ruby-on-rails,Ruby On Rails,在完成了许多rails教程之后,这是我的第一个单独项目 我有两个模型,一个控制顶级记录(lesson.rb),另一个通过carrierWave(attachment.rb)控制相关图像。我正在尝试循环浏览链接的图像,并在帖子中显示它们 到目前为止,我已经创建了资产,但是我很难弄清楚如何在show.html.erb中显示连接的图像。如果答案很简单,请原谅我,我在谷歌上搜索了很多,虽然我发现了很多结果,但我仍然很难将这些方法应用到我的项目中 提前感谢你的帮助 /models/lesson.rb cl
class Lesson < ActiveRecord::Base
attr_accessible :content, :title, :attachments_attributes
has_many :attachments, :dependent => :destroy
accepts_nested_attributes_for :attachments
validates :title, :content, :presence => true
validates :title, :uniqueness => true
end
class Attachment < ActiveRecord::Base
attr_accessible :image
belongs_to :lesson
mount_uploader :image, ImageUploader
end
<div class="body sixteen columns">
<h2><%= @lesson.title %></h2>
<div class="sixteen columns images">
<% for image in @lesson.attachment %>
<%= image_tag @lesson.attachment.image_url.to_s %>
<% end %>
</div>
<p><%= simple_format(@lesson.content) %></p>
</div>
/views/lessons/show.html.erb
class Lesson < ActiveRecord::Base
attr_accessible :content, :title, :attachments_attributes
has_many :attachments, :dependent => :destroy
accepts_nested_attributes_for :attachments
validates :title, :content, :presence => true
validates :title, :uniqueness => true
end
class Attachment < ActiveRecord::Base
attr_accessible :image
belongs_to :lesson
mount_uploader :image, ImageUploader
end
<div class="body sixteen columns">
<h2><%= @lesson.title %></h2>
<div class="sixteen columns images">
<% for image in @lesson.attachment %>
<%= image_tag @lesson.attachment.image_url.to_s %>
<% end %>
</div>
<p><%= simple_format(@lesson.content) %></p>
</div>
两件事:使用每个
循环浏览附件,并将附件
称为复数而不是单数
<% @lesson.attachments.each do |attachment| %>
<%= image_tag attachment.image_url.to_s %>
<% end>
另一件好事是:
@lesson=lesson.includes(:附件)。查找(params[:id])
如果在从数据库检索课程时使用
includes
,它将只触发一个SQL SELECT查询,而不是该课程上的一个+附件数。更多详情请参见。谢谢,这非常有效,我仍然在习惯rails的方式,我想这说明了这一点。