Rails вызывает контроллер с точки зрения другой модели - PullRequest
1 голос
/ 16 октября 2011

У меня есть модель 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>
...

1 Ответ

1 голос
/ 17 октября 2011

Закрытие открытого вопроса.

Это была запятая.


ОБНОВЛЕНО

Это была запятая. Facepalm

Множество других проблем, но именно это привело к ошибке.

<% @posts.each do |post| %>
  <tr>
    <td><%= link_to "upboats", upvote_post(post) %></td>
    <td><%= post.name %></td>
...
...