2016-12-28 3 views
0

Я бы подумал, что это будет автоматически, поскольку я уже успел сделать это для моего действия уничтожения, но не активирован JS.Как визуализировать js.erb с тем же именем, что и действие члена в Rails?

Мои действия контроллера выглядит следующим образом:

def visability_toggle 
    @picture = Picture.find(params[:id]) 
    @picture.toggle! :visable 

    respond_to do |format| 
     format.js { render :action => 'visability_toggle' } 
    end 
    end 

И сейчас мой pictures/_visability_toggle.js.erb, что я хотел бы, чтобы соответствовать мой контроллер выглядит следующим образом:

alert('Picture id: #{@picture.id}'); 

Действие само по себе работает. Также этот JS является правильным и работает, когда я добавил его с render js: ... в действие контроллера.

+1

не уверен, что ваш реальный вопрос здесь, но если вы хотите рельсы автоматически обнаружить 'js.erb' файл, то не предварять его с подчеркиванием, как если бы это был частичный – Viro

+0

Это было. Благодарю. –

ответ

0

Как уже упоминалось: я должен был оставить знак подчеркивания при названии моего шаблона.

0

Просто попробуйте это ..

respond_to do |format| 
    format.js { :location => path_to_controller_method_url(argument) } 
end 

Как вы respond_to другой файл JS в контроллере с использованием Ruby On Rails?

respond_to do |format| 
    format.js { 
     :template => "pictures/visability_toggle.js.erb", 
     :layout => false 
    } 
end