将用户的照片添加到比赛中,使用 link_to 调用方法

Adding user's photo to contest, call method with link_to

我有 JS 背景,所以 Rails 对我来说很奇怪。我目前有一个 show.html.erb 的比赛模型:

<h1>Contest name: <%= @contest.name %></h1>
<h2>Contest criteria: <%= @contest.criteria %></h2>

<h3>Photos: </h3>
<%= link_to "Enter Contest", "#" %>
<% @contest.photos.each do |photo| %>
    <%= image_tag("#{photo}") %>
<% end %>

对于 link_to 我正在尝试渲染属于 current_user 的所有照片,并选择其中一张将其分配给当前比赛。传递的参数对我来说似乎很神秘。你们能指出我应该如何解决这个问题的正确方向吗?谢谢

据我所知,您需要 select 图片列表中的一张图片并传递 ID。所以,试试这个

<%= label_tag "Enter Contest" %>
<% @contest.photos.each do |photo| %>
    <%= link_to (image_tag("#{some photo path}")), some_controller_method_path(:photo_id => photo.id) %>
<% end %>

在控制器中你可以使用params[:photo_id]