У меня есть основное приложение для рабочих платформ, в котором я много полагаюсь на параметры URL для отображения или отсутствия логики. Я смог выполнить ajaxify с помощью UJS и link_to remote => true, но когда я нажимаю на эти ссылки, отображаемый URL-адрес не обновляется (что имеет смысл), а другие частичные не могут читать параметры URL-адресаRails UJS с параметрами URL-адресов проблема
Например в index.html.erb
(до UJS, так что вы можете увидеть, как это работает),
<div class="container-fluid">
<% if params[:category] %><div class="row-fluid span6">
<div class="span6">
<%= render :partial => "buglist" %>
</div>
<% end %>
<% if params[:id] %>
<div class="span6">
<%= render :partial => "bugdetails" %>
</div>
<% end %>
<% unless params[:category] or params[:id]%>
<%= render :partial => "landingpage" %>
<% end %>
</div>
Мой Navbar имеет link_to для нескольких: категории, как этот
"top10",: действие => "индекс" ,: category => catname)%>Если в URL-адресе есть параметр [: category], я показываю список слева, и когда я нажимаю идентификатор в этом списке, он отображает правый DIV с
Если параметров нет , это будет оказывать то, что я называю целевую страницу (своего рода домашнюю страницу)
Это хорошо работает сейчас, но если я добавить пульт => верно для моих NavBar ссылок, он будет работать на левой DIV, но # целевая страница всегда будет отображаться, потому что по какой-то причине она не увидит параметры URL. Кроме того, поскольку отображаемый URL-адрес всегда один и тот же, все мои ссылки_то_небес (params ...) не будут работать.
С USJ:
index.html.erb
<div class="row-fluid span6" id="buglist"></div>
<div class="row-fluid span6" id="bugdetails"></div>
<div class="row-fluid id="landingpage"></div>
index.js.erb
<% if params[:category] %>
$("#buglist").html("<%= escape_javascript(render(:partial => 'buglist')) %>");
<% end %>
<% if params[:id] %>
$("#bugdetails").html("<%= escape_javascript(render(:partial => 'bugdetails')) %>");
<% end %>
<% unless params[:category] or params[:id]%>
$("#landingpage").html("<%= escape_javascript(render(:partial => 'landingpage')) %>");
<% end %>
У вас есть ссылка, объясняющая, как это сделать? Я также думал об использовании PJAX (http://railscasts.com/episodes/294-playing-with-pjax), но сначала я посмотрю ваше предложение. –