Rails 3.1 и Jquery - PullRequest
       5

Rails 3.1 и Jquery

0 голосов
/ 21 марта 2012

У меня следующий код:

на мой взгляд

<div id="flash_notice" style="display: none;"></div>
<%= link_to "Vote", {:controller=>"your_controller_name", :action => 'vote',:id=>@warehouse.id, :vote=>true}, :remote=> true, :method => :put %>

В моем контроллере

def vote
  @warehouse = Warehouse.find(params[:id])
  @warehouse.update_attribute(:vote, params[:vote])
  respond_to do |format|
    format.js
  end
end

В моем файле маршрутов

resources :your_controller_name do
  collection do
   put 'vote'
  end
end

и это "voice.js.erb"

$("#flash_notice").html("You have voted successfully");
$("#flash_notice").show("slow");

Теперь я хочу, чтобы при отображении 'flash уведомлений' отображались другие вещи (например, значки, html-код и т. Д.)и оно должно быть постоянным.Я объясню лучше: у меня есть таблица, и у меня есть «flash_notice» <div> для каждого элемента таблицы. Я хочу, чтобы при нажатии на ссылку «Голосовать», относящуюся к элементу, я должен был что-то использовать, чтобы вспомнить, что я »Я только что нажал на этот элемент, и я не могу нажать снова.

1 Ответ

0 голосов
/ 23 марта 2012

Вы можете отменить привязку события клика для ссылки голосования после ее нажатия. Или, если вы хотите подождать, пока ваш vote.js.erb будет выполнен, прежде чем отключить событие click, вы можете попросить ссылку для голосования передать параметр, который уникально идентифицирует себя с контроллером (например, ?vote_id=1), тогда в вашем vote.js.erb будет иметь доступ к params[:vode_id], поэтому вы можете отключить событие click для ссылки оттуда.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...