簡體   English   中英

將索引頁中的請求放入Rails

[英]Put Request From Index Page In Rails

我正在制作一個包含一堆照片的網站,每個照片下面都有一個按鈕,上面寫着Upvote。 我希望該按鈕提交一個PUT請求,以更新數據庫中的字段。 我目前有以下代碼:

<% @users.each do |user| %>
    <%= image_tag user.avatar.url(:thumb) %>
    <% form_for (@user) do |f| %>
    <input name="commit" type="submit" value="Upvote">
    <% end %>
<% end %>

我希望它能夠在用戶單擊upvote按鈕時調用PUT請求,更新值,然后重定向到同一頁面。 我不知道該怎么做。

首先,您的代碼是錯誤的:用form_for(@user)替換form_for(@user) form_for(user)

其次,由於user對象已經存在,因此它將默認為PUT 因此,您無需執行任何操作。

如果您要投票給用戶(而不是圖片?),請將其放入user_controller.rb文件中:

def upvote
  @user = User.find(params[:user])
  @user.upvote
end

在您的app / models / user.rb中

def upvote
  self.votes += 1
  self.save
end

在你的config / routes.rb中

resources :user do
  put :upvote
end

未經測試,但應該給您一個起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM