У меня есть модель post
и модель upvote
.
upvote.rb
class Upvote < ActiveRecord::Base
has_one :user
belongs_to :post
end
# == Schema Information
#
# Table name: upvotes
#
# id :integer not null, primary key
# user_id :integer
# post_id :integer
# comment :text
# created_at :datetime
# updated_at :datetime
#
Теперь в пределах posts/index
Я хочу добавить голосование для текущего пользователяи сообщение.
Некоторые исследования указали мне написать помощника posts_helper.rb
module PostsHelper
def upvote_post(post)
@upvote = Upvote.new
@upvote.user_id = current_user.id
@upvote.post_id = post.id
if @upvote.save
flash.now[:notice] = 'Upvote was successfully created.'
end
end
end
В моем представлении я хочу вызывать помощника только при нажатии на ссылку, но, похоже, не могуget link_to
работает правильно.
<% @posts.each do |post| %>
<tr>
<td><%= link_to "upboats" upvote_post(post) %></td>
<td><%= post.name %></td>
...
Я получаю сообщение об ошибке syntax error, unexpected tIDENTIFIER, expecting ')'
и, похоже, не могу найти хороших альтернатив.
Что мне здесь не хватает?
ОБНОВЛЕНО
Это была запятая. facepalm
Множество других проблем, но именно это привело к ошибке.
<% @posts.each do |post| %>
<tr>
<td><%= link_to "upboats", upvote_post(post) %></td>
<td><%= post.name %></td>
...