我有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
内我想为当前用户和帖子添加一个upvote。
一些研究指出我要写一个帮手
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
在我的视图中,我想仅在点击链接时调用帮助程序,但似乎无法使link_to
正常工作。
<% @posts.each do |post| %>
<tr>
<td><%= link_to "upboats" upvote_post(post) %></td>
<td><%= post.name %></td>
...
我收到错误syntax error, unexpected tIDENTIFIER, expecting ')'
,似乎找不到任何好的选择。
我在这里缺少什么?
已更新
这是一个逗号。 捂脸
还有很多其他问题,但这就是导致错误的原因。
<% @posts.each do |post| %>
<tr>
<td><%= link_to "upboats", upvote_post(post) %></td>
<td><%= post.name %></td>
...
答案 0 :(得分:1)
结束未解决的问题。
这是一个逗号。
已更新
这是一个逗号。捂脸
还有很多其他问题,但这就是导致错误的原因。
<% @posts.each do |post| %>
<tr>
<td><%= link_to "upboats", upvote_post(post) %></td>
<td><%= post.name %></td>
...