(多数の画像の中から) 画像をクリックし、クリックした画像に基づいてプロファイル テーブルを更新できるようにする必要があります。
私のビューの画像のリスト:
<% @pages_selection.each do |pages_selection| %>
<img>
<%= link_to image_tag(pages_selection.page_picture, '#') %>
</img>
<% end %>
次に、save_new_scores_to_profile という名前のメソッドをコントローラーに用意しました。このメソッドは、画像のデータを平均化し、プロファイル値を更新します。
link_to (画像) がクリックされたときにコントローラ メソッドを呼び出すにはどうすればよいですか? このような利用可能なものはありますか?
if link_to clicked
perform_controller_or_helper_method
end
ユーザーは複数の画像を選択する必要があるため、画像をクリックした後もページにとどまるようにします (そのため、「#」に向けられたリンクを用意しています。それが役立つ場合は、ページの最後に送信ボタンもあります。
私は link_to 以外のものを使用することにオープンです。
編集:
ルートで今いる場所はここです
resources :preferences do
member do
get 'save_new_scores_to_profile'
get 'checked_average_with_profile'
end
end
とビュー:
<% @pages_selection.each do |pages_selection| %>
<img>
<%= link_to image_tag(pages_selection.page_picture, :controller =>
:checked_average_with_profile, :action => :save_new_scores_to_profile, :image_id
=> pages_selection.id) %>
</img>
<% end %>
コントローラーに関数checked_average_with_profileとsave_new_scores_to_profileがあり、機能することがわかっています(ヘルパー関数でテストした後)。