Запустить модал с контроллера - PullRequest
2 голосов
/ 14 декабря 2010

Я пытаюсь показать модальное окно (используя диалоговое окно jquery ui) пользователю с моего контроллера.

Например:

def create
  if params[:id]
    #do something
  else
    #show a modal window with a partial as content
end

Спасибо за помощь =)

Ответы [ 2 ]

1 голос
/ 14 декабря 2010

Это исправление, но, вероятно, будет работать для вас

Контроллер

def create
  if params[:id]
    #true code
  else
    render :new
    @dialog = true
  end    
end

на вас new.html.erb

<% if @dialog %>
  <%= #dialog code %>
<% else %>
  <%= #normal code %>
<% end %>

Надеюсь, это сработает.

UPDATE

Если то, что я просил вас в комментарии, верно, то вы можете сделать это

в вашем new.html.erb вы можете сделать это

<% form_for @product do |f| %>
  <% if @product.errors %>
    <%= #dialog code %>
  <% end %>
<% end %>
0 голосов
/ 14 декабря 2010

Невозможно отобразить диалоговое окно jQuery с контроллера, потому что вы не можете выполнить JavaScript на стороне сервера. Самое близкое, к чему вы можете прийти - это отослать обратно строку JavaScript для оценки на стороне клиента, но это очень плохая практика. Лучше всего отключить что-либо на стороне сервера и ввести код диалога на стороне клиента. Если вы не хотите использовать JavaScript в своих шаблонах erb, вы можете вызвать функцию оттуда, или вы можете сделать отправку через AJAX, и либо ваш обработчик сделает диалог, либо отобразит шаблон js.erb, который может оба визуализировать Частично и делаю JavaScript. Дайте мне знать, если вам нужен пример любого из вышеперечисленного, и я посмотрю, смогу ли я его предоставить.

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