В моем приложении у меня есть вопросы о ресурсах и пользователь, я должен дать возможность пользователю ответить на вопрос о повышении или понижении. Я сделал отношения has_many через голоса для пользователя и вопроса. Также я поставил Голосование. Я в Nuber в веб-разработчика, поэтому я это то, что я поставил л так:Нужна помощь в рендеринге JSON в Rails-приложении
-if current_user.votes_on_questions.include? @question
-if @question.votes.where(user_id: current_user.id).first.vote_field == true
= form_for @question.votes.where(user_id: current_user.id).first, method: :patch do |f|
= f.hidden_field :user_id, value: current_user.id
= f.hidden_field :votable_id, value: @question.id
= f.hidden_field :votable_type, value: 'Question'
= f.hidden_field :vote_field, value: false
= f.submit 'Vote +', class: 'upvote-submit'
-elsif @question.votes.where(user_id: current_user.id).first.vote_field == false
= form_for @question.votes.where(user_id: current_user.id).first, method: :patch do |f|
= f.hidden_field :user_id, value: current_user.id
= f.hidden_field :votable_id, value: @question.id
= f.hidden_field :votable_type, value: 'Question'
= f.hidden_field :vote_field, value: true
= f.submit 'Vote -', class: 'upvote-submit'
-else
div.voting_dom
= render 'votes/vote', question: @question
выглядит ужасно ХА? Не забывай - я полный нубер. Простые JS
$(document).ready(function(){
$('.new_vote').bind("ajax:success", function(e, data, stauts, xhr){
$('.voting_dom').replaceWith(xhr.responseText);
});
});
и запуск контроллера
def create
@vote = Vote.new(vote_params)
respond_to do |format|
if @vote.save
format.json{ render json: @vote }
else
format.json{ render json: @vote.errors.full_messages, status: :unprocessable_entity }
end
end
конец
я застрял на том, как, как установить ответ JSON. Был бы очень признателен за любой коммит или совет
Upvoted для Haml :) –