RoR: Replace_html с частичным и коллекция не работает - PullRequest
0 голосов
/ 31 марта 2010

Я пытаюсь создать интерфейс с вкладками, используя прототип вспомогательного метода replace_html. У меня есть три разные части, с которыми я работаю. Первая - это «главная вкладка», и она загружается автоматически следующим образом:

<div id = "grid">
    <% things_today = things.find_things_today %>
    <%= render :partial => "/todaything", :collection => things_today, :as =>:thing %>
</div>

... который отлично работает. Точно так же у меня есть часть _tgotithing, которая заменяет содержимое в div 'grid' следующим образом:

<%things_tomorrow = things.find_things_tomorrow%>
<%= link_to_function('Tomorrow',nil, :id=>'tab') do |page|
  page.replace_html 'grid' , :partial => '/tomorrowthing',:collection => things_tomorrow, :as => :thing
end %>

Если я нажму на эту вкладку, то ничего не произойдет вообще. Используя firebug, единственные ошибки, которые я нахожу, это missing ) after argument list, который содержится в блоке Element.update, где вызывается функция link_to_function. Что я делаю не так?

1 Ответ

0 голосов
/ 31 марта 2010

Эй, Джек, я пытаюсь воспроизвести то же самое, но я не могу, я никогда раньше не использовал функцию link_to_function, но Следующий код может помочь достичь того же, что вы хотите

<%= link_to_remote "Today Thing", :url=>{:action=>"things", :id=>'today'}%> 
<%= link_to_remote "Tomorrow Thing", :url=>{:action=>"things", :id=>'tomorrow'}%> 

<div id = "grid">
    <% @things = things.find_things_today %>
    <%= render :partial => "/todaything", :collection => @things %>
</div>

в контроллере

def things
@things= (params[:id]=="today")? things.find_things_today : things.find_things_tomorrow


render :update do |page|
 page.replace_html 'grid',  :partial => (params[:id]=="today")? "/todaything" : '/tomorrowthing'  , :objects=> @things
end
...