我有模特User,Post,Vote。这是我的投票模型:
class Vote < ActiveRecord::Base
SCORE_REGEX = /-1|1/
# Relations
belongs_to :user
belongs_to :post
# Validations
validates :score,
allow_nil: true,
format: {with: SCORE_REGEX }
end
我的帖子会显示在首页和用户个人资料中。我的控制器是:static_pages_controller(这是控制器保存主页),users_controller,posts_controller,votes_controller。我在views / posts / _post.html.erb中有帖子的模板,如下所示:
<%= link_to post.id, post %> <br>
<%= link_to post.user.name, post.user %>
<%= post.content %>
posted <%= time_ago_in_words(post.created_at) %> ago. <br>
<% if post.edited %>
post has been edited <%= time_ago_in_words(post.updated_at) %> ago.
<% end %>
<% if current_user?(post.user) %>
<%= link_to "delete", post, method: :delete %>,
<%= link_to "edit", edit_post_path(post)%>
<% end %>
<%= render 'shared/vote_form' %>
如何为这些帖子制作一个有效的投票按钮(喜欢,不同,不喜欢,不喜欢)?
答案 0 :(得分:1)
是什么阻止您使用像acts_as_votable这样的宝石?
关于按钮,一个简单的link_to
将与method: 'post'
和remote: true
一起使用。链接的目标,不能不知道你的路线。