Как я представляю частичный из другого формата в направляющих?

установленные вами значения определяют порядок перемещения фокуса клавиатуры между элементами на веб-сайте.

В следующем примере при первом нажатии вкладки курсор переместится на #foo, затем #awesome, а затем #bar

<input id="foo" tabindex="1"  />
<input id="bar" tabindex="3"  />
<input id="awesome" tabindex="2"  />

Если вы не указали индексы табуляции в любом месте, фокус клавиатуры будет следовать тегам HTML вашей страницы в том порядке, в котором они определены в документе HTML.

Если вы набрали больше времени, чем указали tabindexes, фокус будет двигаться так, как если бы не были табуиндексы, то есть в порядке появления HTML-тегов

112
задан James A. Rosen 3 December 2008 в 23:26
поделиться

5 ответов

Основываясь ответ roninek , я нашел лучшее решение быть следующим:

в/app/helpers/application.rb:

def with_format(format, &block)
  old_format = @template_format
  @template_format = format
  result = block.call
  @template_format = old_format
  return result
end

В/app/views/foo/bar.json:

<% with_format('html') do %>
  <%= h render(:partial => '/foo/baz') %>
<% end %>

альтернативное решение должно было бы переопределить render для принятия :format параметр.

я не мог заставить render :file работать с местными жителями и без некоторого пути wonkiness.

29
ответ дан Community 5 November 2019 в 09:33
поделиться

Что случилось с

render :partial => '/foo/baz.html.erb'

? Я просто попробовал это для рендеринга HTML ERB, неравнодушный из разработчика Atom шаблон, и это хорошо работало. Нет бездельничая с требуемыми глобальными переменными (да, я знаю, что они имеют перед ними, но это - то, что они).

Ваш with_format &block подход прохладен, хотя, и имеет преимущество, что Вы только определяете формат, тогда как простой подход определяет движок шаблонов (ERB/builder/etc) также.

64
ответ дан Community 5 November 2019 в 09:33
поделиться

У Вас есть две опции:

1) использование render :file

render :file => "foo/_baz.json.erb"

2) шаблонный формат изменения к HTML путем установки @template_format переменной

<% @template_format = "html" %>
<%= h render(:partial => '/foo/baz') %>
10
ответ дан Ken Ratanachai S. 5 November 2019 в 09:33
поделиться

Я наткнулся на эту тему, когда пытался отобразить частичный XML в другом файле представления xml.builder. Ниже приведен хороший способ сделать это

xml.items :type => "array" do
    @items.each do |item|
        xml << render(:partial => 'shared/partial.xml.builder', :locals => { :item => item })
    end
end

И да... Полное имя файла работает и здесь...

1
ответ дан 24 November 2019 в 02:46
поделиться

Для Rails 3 блок with_format работает, но он немного отличается:

  def with_format(format, &block)
    old_formats = formats
    self.formats = [format]
    block.call
    self.formats = old_formats
    nil
  end
32
ответ дан 24 November 2019 в 02:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: