Ruby on rails 使用相同的URL放置Rails更新
我正在随机调用一个Ruby on rails 使用相同的URL放置Rails更新,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我正在随机调用一个帖子,允许用户在加载另一篇帖子之前+1或-1该帖子。我的模型在URL/posts/random处使用以下命令生成一个随机记录 Post.rb//Model def self.find(*args) if args.first.to_s == "random" Post.find :first, :offset => rand(Post.count) else super end 当用户访问posts/random时,此代码生成一个随机post。但
帖子
,允许用户在加载另一篇帖子之前+1或-1该帖子。我的模型在URL/posts/random处使用以下命令生成一个随机记录
Post.rb//Model
def self.find(*args)
if args.first.to_s == "random"
Post.find :first, :offset => rand(Post.count)
else
super
end
当用户访问posts/random时,此代码生成一个随机post。但是,我还在数据库中定义了一个
thumb\u up
和thumb\u down
字段,该字段对应于thumb\u up
和thumb\u down
图像,单击该图像时,需要在重定向到另一个/posts/random之前+1或-1数据库中的值。我的理解是,要做到这一点,我需要调用PUT-update方法,但是,由于我的URL是posts/random而不是posts/1,我该如何做到这一点?我需要改变我的路线吗?首先,你需要一个代表随机帖子的实例变量,这样你就可以在竖起和竖起链接中使用它。然后,您需要确保这些链接如下所示:
<%= link_to "Thumbs Up", post_path(@post, thumbs_up: 1), method: :put %>
<%= link_to "Thumbs Down", post_path(@post, thumbs_down: 1), method: :put %>
@post.update_attributes(thumbs_up: @post.thumbs_up + params[:thumbs_up],thumbs_down: @post.thumbs_down + params[:thumbs_down] )
这只是一个开始,但我认为这应该让你朝着正确的方向前进。你似乎错过了一个
结尾。
。啊,是的,谢谢你,那是一个复制错误。这一部分可以很好地从数据库生成随机帖子。我的问题是,我可以在固定URL的情况下调用PUT更新吗?我生成了一个jQuery脚本来执行类似的任务(例如,在参数被更改的情况下调用PUT方法),但我不确定这是“正确的方式”。非常感谢!我喜欢Rails和它周围的社区。