我现在有一个ruby on rails应用程序,可以上传一张照片和一个号码。
<%= form_for(@masterpiece) do |f| %>
<%= f.label :user_piece %><br>
<%= f.file_field :user_piece %><br>
<%= f.label :piece_number %><br>
<%= f.number_field :piece_number %>
<%= f.submit %>
<% end %>
当照片上传时,它会转到一个无序的项目列表。
<ul>
<% @masterpieces.each do |masterpiece| %>
<li><%=image_tag masterpiece.user_piece.url(:square) %></li>
<% end %>
</ul>
但是,我希望有一个4行和每行5张图片的网格。我想把图片上传到正确的数字索引里。我不知道该怎么办。我需要做20个预先确定的li,然后将索引号与工件号匹配吗?
我想我需要确定模型中的索引。但是,我不确定我是否做了预先确定的李的。
# do I need to make predetermined li's?
def determine_index
# take the piece_number
# have piece number correlate to index
end
然后我猜在控制器中我需要写一个类似于这样的if-else语句。我只为前三个做了一个例子。
def create
@masterpiece = Masterpiece.new(masterpiece_params)
respond_to do |format|
if @masterpiece.save
index_placement = @masterpiece.determine_placement
if index_placement == 1
# put in the first li
elsif index_placement == 2
# putin the second li
else
# put in the 3rd li
end
format.html { redirect_to masterpieces_url }
else
format.html { render :index }
end
end
end
钢轨V 4.1.4.
使用回形针和aws sdk上传照片作为旁注。
最佳答案
在我的问题中,我想我本可以更清楚地知道,我需要在网格中有20个预先确定的框。这些预定框将填充默认图像。一旦用户上传一张照片到其中一个网格,它就会循环浏览每张照片。在这个问答中,我将集中精力建立网格。
本例中的默认图像只是“foo”。
我设置了一个图像URL的哈希值。现在,默认的映像将只是“foo”,因为我不想在stackoverflow上添加指向我的s3 bucket的链接。
然后我把这幅杰作的所有部分都圈起来。
在这个循环中,我根据散列的键值将图像放入预先确定的散列中,这个键值直接与工件编号相关。
杰作控制器.rb
def index
image_urls = {
1 => ["foo"],
2 => ["foo"],
3 => ["foo"],
4 => ["foo"],
5 => ["foo"],
6 => ["foo"],
7 => ["foo"],
8 => ["foo"],
9 => ["foo"],
10 => ["foo"],
11 => ["foo"],
12 => ["foo"],
13 => ["foo"],
14 => ["foo"],
15 => ["foo"],
16 => ["foo"],
17 => ["foo"],
18 => ["foo"],
19 => ["foo"],
20 => ["foo"],
}
Masterpiece.all.each do |masterpiece|
image_urls[masterpiece.piece_number] << masterpiece.user_piece.url(:square)
end
@image_urls = image_urls
end
在视图中,我继续使用each_slice方法。
<ul>
<% @image_urls.each_slice(5) do |row| %>
<% row.each do |_, urls| %>
<li class="square-image" data-urls=<%= urls.to_json %>>
<span class="user-image"><%= image_tag(urls.sample) %></span>
</li>
<% end %>
<% end %>
</ul>
关于ruby-on-rails - 如何在Ruby on Rails应用程序中添加照片以更正索引?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25853222/