Кажется, я не могу понять, как это сделать. Я пытаюсь передать четыре разных переменных в одну таблицу. Чтобы быть более конкретным, я пытаюсь создать «лайк» в таблице лайков, которая также фиксирует site_id (как ответ), user_id и question_id. Вот установка.
class Like < ActiveRecord::Base
belongs_to :site
belongs_to :user
belongs_to :question
end
Я избавлю вас от обратного, has_many
ассоциации, но они есть. Вот контроллер лайков, где, я думаю, проблема.
class LikesController < ApplicationController
def create
@user = current_user
@site = Site.find(params[:site_id])
@like = @site.likes.create!(params[:like])
@like.user = current_user
@like.save
respond_to do |format|
format.html { redirect_to @site}
format.js
end
end
end
Этот код успешно передает like и site_id, но после многих различных попыток я не могу заставить его передать идентификатор вопроса. Вот моя форма:
/ views / sites / _site.html.erb (хотя частичное отображается в файле /views/questions/show.html.erb).
<% remote_form_for [site, Like.new] do |f| %>
<%= f.hidden_field :site_name, :value => "#{site.name}" %>
<%= f.hidden_field :ip_address, :value => "#{request.remote_ip}" %>
<%= f.hidden_field :like, :value => "1" %>
<%= submit_tag "^" , :class => 'voteup' %>
<% end %>