Rails получает дамп визуализированного представления - PullRequest
0 голосов
/ 02 апреля 2012

Как включить ответ рендеринга вида внутри другого, но выгруженного.

как я сейчас использую:

css: "<%= render :partial => "myurl/blah", :formats=> [:css], :layout => false %>",

(в визуализированном файле js, где я создаю объект json, а также включаю в него различные другие файлы ..)

Ответ здесь такой:

css: "#utilities {width: 800px;}
#utilities p,
#utilities ul {margin-bottom: 1em;}
#utilities_scroll {height:500px; padding:0 10px 0 10px; overflow:scroll;}
#utilities_scroll_inner {width: 733px;}
#utilities-search-form {margin-top: 20px;} .. ."

Как бы то ни было, я хочу, чтобы это было так:

css: "#utilities {width: 800px;}\n#utilities p,\n#utilities ul {margin-bottom:  .. "

EDIT:

В ответ на:

css : <%= eval("render :partial => 'myurl/blah', :formats=> [:css], :layout => false").dump %>

Это выводит html, но слегка некорректно,

См. В консоли рельсы:

 a = "fdjasdlkfs 32$#%$#^$%^<>tv5$ ;'"  # => "fdjasdlkfs 32$#%$#^$%^<>tv5$ ;'" 
a.dump      #=> "\"fdjasdlkfs 32$#%$#^$%^<>tv5$ ;'\""

Это было бы правильно, но в html со строкой, которую я включаю, ответ выглядит так: (если у меня есть в файле myurl / blah.css как: "fdjasdlkfs 32$#%$#^$%^<>tv5$ ;'"

Результат

css : &quot;\&quot;fdjasdlkfs 32$#%$#^$%^&lt;&gt;tv5$ ;'\&quot;\n&quot;

вижу разницу, поскольку < > " преобразуются очень по-разному в обоих случаях .. (мне это нужно в соответствии с первым форматом "

Ответы [ 2 ]

1 голос
/ 02 апреля 2012

Используйте Eval.Я никогда не пробовал это раньше, но это будет работать.

Попробуйте:

css : <%= eval("render :partial => 'myurl/blah', :formats=> [:css], :layout => false") %>
0 голосов
/ 02 апреля 2012

Спасибо Вику за усилия ... Но после долгих часов поиска я закончил как:

css : <%= JSON.dump(render :partial => "abc/url", :formats=> [:css], :layout => false).html_safe %>
css: <%= eval("render :partial => 'blah/blah', :formats=> [:css], :layout => false").dump.html_safe%>,
css: <%= eval("render :partial => 'blah/blah', :formats=> [:css], :layout => false").to_json.html_safe%>,

как решение проблемы .... Я только начал на Ruby, rails инайти странным, что нет никакой надлежащей документации по всем этим мелочам ... надеюсь, это кому-нибудь поможет ...

однако в моем случае я закончил тем, что использовал для своего решения: (немного отличающийся от вопроса) в контроллере:

@cssrender = JSON.dump(render_to_string(:file => "blah/blah", :layout => false , :formats =>[:css]))

и только css :<%=@cssrender.html_safe%>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...