Как использовать, если условие в RJS? - PullRequest
3 голосов
/ 28 сентября 2011

Я передаю параметр с URL, называемым var, который содержит значение 'event'.Я хочу проверить эту переменную в файле rjs и загрузить модальное диалоговое окно.Ниже мой код.

page<<" if (:var== "event") {"
page<< "$j ('#create_evnt_dialog').dialog({
    title: 'New Trainer',
    modal: true,
    width: 500,
    close: function(event, ui) { $j ('#create_evnt_dialog').dialog('destroy') }

 });"
page << '}else{'
page.replace_html 'create_evnt', :partial => 'add_events'
page << "}"

Я не могу проверить переменное событие в файле rjs. Как я могу это сделать?

Это моя ссылка Ajax ::

<%= link_to_remote 'Add new event', :url => {:controller => 'events', :action => 'new' }, :with=>"'var=' + escape('event')" %>

<%= link_to_remote 'Add new holidays', :url => {:controller => 'events', :action => 'new' }, :with=>"'var=' + escape('holy')" %>

Это моякод контроллера ::

def new
@event = Event.new
@trainers= Trainer.all
@countries= Country.all
@venues= Venue.all

@var=params[:var]

if(@var == 'holy')
    @event.trainer_id='0'#If we save holiday as event we put 0 to trainer and venue
    @event.venue_id='0'  
end
end

Ответы [ 2 ]

4 голосов
/ 20 октября 2011

Просто вы можете использовать

    if params[:template] == "viewer"
      render :action => "viewer_destroy.js.rjs"
    else
      render :action => "destroy.js.rjs"
    end
0 голосов
/ 28 сентября 2011

Я думаю, что вы должны использовать синтаксис ruby, как это:

if (<%= :var %> == "event") {

или все в рубине

<% if :var == "event" %>

<% end %>
...