为Rails 4中的帖子投票实施

时间:2016-03-14 13:37:14

标签: ruby-on-rails ruby-on-rails-4

我有模特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' %>

如何为这些帖子制作一个有效的投票按钮(喜欢,不同,不喜欢,不喜欢)?

1 个答案:

答案 0 :(得分:1)

是什么阻止您使用像acts_as_votable这样的宝石?

关于按钮,一个简单的link_to将与method: 'post'remote: true一起使用。链接的目标,不能不知道你的路线。