Частично не отображается через RJS - PullRequest
0 голосов
/ 10 июня 2011

На моей странице new.html.erb я использую следующую строку для рендеринга частичного фрагмента, и он отлично работает.

<%= render :partial => "submissions/player_form", :locals => { :submission => @submission }  %>

Теперь я хочу отрендерить точно такой же фрагмент с помощью RJS

<p>Player Type: <%= f.select(:PLAYER_TYPE, $playersList, {:prompt => 'Select the Player Type'} %></p>


<%= observe_field("submission_PLAYER_TYPE", :frequency => 1,
                                               :url => { :controller => 'submissions',
                                               :action => :display_player_form },
                                                :with => "'player='+value") %>

display_player_form.rjs:

  page.replace_html 'observed_assay_form', :partial => 'submissions/player_form', :locals => {:submission => @submission }

Ничего не отображается !!

Я что-то упустил ??

Спасибо, что помогли мне с этим:)

Ответы [ 2 ]

1 голос
/ 13 июня 2011

Я наконец понял это.Итак, вот мои выводы:

  1. В частичную, включите тег form_for, как и в оригинальной форме -

    <% form_for @object do | f |%>

  2. В действии, используемом при наблюдении поля, в моем случае 'display_player_form', создайте новый экземпляр объекта (см. Ниже)

    @ object= Object.new

  3. В вашем файле rjs введите следующее:

    page ['id of div']. Replace_html: частичный => 'your_partial_name'

Вот, пожалуйста ...

Надеюсь, это поможет

0 голосов
/ 10 июня 2011

Я бы переименовал display_player_form.rjs в display_player_form.js.erb, чтобы его содержимое выглядело так:

$("#observed_essay_form").html('<%=
  escape_javascript(
    render :partial => 'submissions/player_form', :locals => {:submission => @submission }
  )
-%>');
$("img[src$='spinner.gif']:visible").hide(); // optional - hide any visible spinner.gif images

Кстати, я использую jQuery, а не Prototype.

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