Параметр в AJAX-запросе - PullRequest
       1

Параметр в AJAX-запросе

0 голосов
/ 10 апреля 2011

У меня есть представление, которое содержит несколько ссылок:

<% a.each do |q| %> 
   <%= link_to "stock it", 
        { :action => "stock", 
          :qid => q.question_id, 
          :qur => q.question_answers_url, 
          :qti => q.title } , 
        :remote => true %> 

   <div id="<%= "stock" + q.question_id.to_s %>"></div>
<% end %>

Каждая ссылка генерирует AJAX-запрос. Вот контроллер:

def stock
  if(!Later.where(:question_id => params[:qid]).exists?)
    later = Later.new(:question_id => params[:qid], :name => params[:qti], :url => params[:qur])
    later.save
  end 

  respond_to do |format|
    format.js { render :layout=>false }
  end
end  

Теперь вернемся к виду. У каждой ссылки есть div с уникальным id = stock. Когда пользователь нажимает на ссылку, мне нужно добавить текст в конкретный div с соответствующим идентификатором.

У меня есть файл stock.js.erb:

$("#stock<number>").html("some text");

Как передать div-id в stock.js.erb и как его использовать?

1 Ответ

1 голос
/ 10 апреля 2011

Обычно используется для добавления object.id к вашему идентификатору DOM.То, что вы точно сделали:

<div id="<%= "stock_#{q.question_id}" %>"></div>

Затем в контроллере вы должны указать свой question_id или свой точный question:

def stock
  if(!Later.where(:question_id => params[:qid]).exists?)
    later = Later.new(:question_id => params[:qid], :name => params[:qti], :url => params[:qur])
    later.save
  end
  @question_id = params[:qid]
end

Теперь он будет передан вашему1010 * файл:

$("#stock_<%= @question_id %>").html("some text");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...