Ruby on rails 将来自索引页的请求放入Rails中
我正在制作一个网站,上面有一堆照片,每张照片下面都有一个按钮,上面写着Upvote。我希望该按钮提交一个PUT请求,更新数据库中的字段。我目前有以下代码:Ruby on rails 将来自索引页的请求放入Rails中,ruby-on-rails,Ruby On Rails,我正在制作一个网站,上面有一堆照片,每张照片下面都有一个按钮,上面写着Upvote。我希望该按钮提交一个PUT请求,更新数据库中的字段。我目前有以下代码: <% @users.each do |user| %> <%= image_tag user.avatar.url(:thumb) %> <% form_for (@user) do |f| %> <input name="commit" type="submit" value
<% @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请求,更新值,然后重定向到同一页面。我不知道怎么做。首先,你的代码是错误的:将(@user)的
form\u替换为(@user)
其次,由于
用户
对象已经存在,它将默认为PUT
。因此,您无事可做。如果您想向用户投票(而不是图片?),请将其放入您的user\u 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
未测试,但应该给您一个起点。我这样做了,它不再给我错误。唯一的问题是“提交”命令没有出现按钮。谢谢!我已经实现了实际上传图像的代码(我列出了用户列表,因为我使用了rails脚手架)。我只是想找到一种从索引页调用该方法的方法。