当我查看诸如www.dribble.com等网站的源代码时,我发现每个图像都有自己的<div>
,但是当我从我的rails模型中提取图像时,如下所示: :
<div class="article">
<% @articles.in_groups_of(5, false).each do |group| %>
<div class="row">
<% group.each do |article| %>
<div class="col-md-2">
<%= link_to image_tag(article.artwork.thumb), ?? %>
<%= sanitize(article.title) %>
</div>
<% end %>
</div>
<% end %>
</div>
<%= will_paginate @articles %>
图像是单个<div>
。 Instagram的源代码还显示,用户在其主页中的9张照片是单张<div>
,Instagram和他们的照片布局看起来与从Rails模型中提取的图像非常相似。
这是否意味着无法从Rails模型中提取图像并使它们像您在www.dribble.com上看到的那样花哨/响应?
此外,其他允许您使照片响应/幻想的语言也能让您从模型中提取图像,或者像www.dribble.com这样的网站必须手动编码每个<div>
/图片?我问,因为在每个初学者的教程中,我看到java / html都是手工编写imgs到代码中,我还没有看到任何从模型/数据库中提取图像的例子就像他们在Rails中那样做教程。
作为奖励,在上面的代码中,我试图弄清楚两件事:
rb.6
如何创建指向文章ID的链接,&#34; example.com/article/1"
rb.6
如何创建指向:title列中附加网址的链接。该标题将在标题栏下输入我的表单<a href="http://cnn.com">Foo Bar</a>
,然后在rb.7
中清理为&#34; Foo Bar&#34;。
谢谢。
答案 0 :(得分:0)
您对Rails
/ CSS
的作用感到困惑。
我们对图片使用Paperclip
;无论你使用它还是Carrierwave
都没关系 - 模式是一样的。
图像保存在硬盘驱动器上(在Web服务器本地,或在S3
等外部),Paperclip
/ Carrierwave
然后存储对数据库中图像的引用。当您通过Rails调用图像时,您只需通过数据库和数据库提取image.jpg
数据。最终是硬盘。
图像的风格化完全取决于您:
<%= content_tag :div, class: "article" do %>
<% @articles.in_groups_of(5, false).each do |group| %>
<%= content_tag :div, class:"row do %">
<% group.each do |article| %>
<div class="col-md-2">
<%= link_to image_tag(article.artwork.thumb), article %>
<%= sanitize(article.title) %>
</div>
<% end %>
<% end %>
<% end %>
<% end %>
由于上述内容看起来很混乱,您可能希望采用haml
:
.class
- @articles.in_groups_of(5, false).each do |group|
.row
- group.each do |article|
.col-md-2
= link_to image_tag(article.artwork.thumb), article
= sanitize article.title
如何创建指向文章
id
的链接
您应该阅读link_to
- 您只需要传递“输出”后跟URL。由于Rails使用resourceful routing结构,您将能够直接传递article
对象:
link_to "Text", article #-> <a href="example.com/articles/[[id]]">Text</a>
link_to "Text", articles_path(article) #-> <a href="example.com/articles/[[id]]">Text</a>
这认为您在路线中设置了以下内容:
#config/routes.rb
resources :articles
-
如何创建指向附加在:标题栏
中的网址的链接
不确定你在问什么;如果您想将block
传递给link_to
,可以使用:
= link_to article do
= image_tag article.artwork.thumb
= sanitize article.title
...将产生:
<a href="http://example.com/articles/[[id]]">
<img src="..." />
Title
</a>
让他们喜欢/反应
完全是CSS
问题。