Это должно работать, но должно использоваться в небезопасном контексте:
byte[] buffer = new byte[255];
fixed (byte* p = buffer)
{
IntPtr ptr = (IntPtr)p;
// do you stuff here
}
остерегаются, необходимо использовать указатель в фиксированном блоке! Gc может переместить объект, после того как Вы больше не находитесь в фиксированном блоке.
Возможно, есть лучший способ сделать это, но если он присутствует на большинстве или всех страницах, вы можете создать before_filter в своем ApplicationController. Вам нужно будет вызвать skip_before_filter
для контроллеров / действий, которым не нужны данные.
class ApplicationController < ActionController::Base
before_filter :load_sidebar_data
protected
def load_sidebar_data
end
end
Если вам это не нужно на большинстве страниц, вы все равно поместите метод в ApplicationController, вы просто добавляете фильтр «до» там, где он вам нужен.
Поместите партиал в папку макетов. Имя файла должно начинаться с символа подчеркивания. Например, «_mypartial.html.erb».
Затем в ваших представлениях используйте следующий код для включения частичного
"mypartial"%>Обратите внимание, что вы не включаете подчеркивание во встроенный код Ruby при указании партиала для рендеринга.