Я только начал изучать Rails и пытаюсь создать функцию типа post / like. У меня это работает, но должен быть более эффективный способ сделать это.
Мой почтовый индекс содержит следующий код (я использую jQuery для отправки формы через ajax):
<% @posts.each do |post| %>
<%= form_for([post, post.likes.build]) do |f| %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :post_id, :value => post.id %>
<%= f.submit pluralize(post.likes.count, 'Like'), :class => 'like like-' + post.id.to_s %>
<% end %>
<% end %>
Мое представление содержит следующее:
<%= render "likes/form" %>
Который содержит следующее:
<%= form_for([@post, @post.likes.build]) do |f| %>
<%= f.hidden_field :user_id, :value => current_user.id %>
<%= f.hidden_field :post_id, :value => @post.id %>
<%= f.submit pluralize(@post.likes.count, 'Like'), :class => 'like like-' + @post.id.to_s %>
<% end %>
Это все работает в сочетании с jQuery и уничтожает ссылки. Однако наличие двух разных форм кажется немного тяжелым. Любые идеи о том, как изменить / оптимизировать или лучший способ сделать это?
Спасибо.