Как добавить стили в теги помощника Actionview? - PullRequest
0 голосов
/ 12 мая 2010

как добавить стили к тегам помощников actionviews. как следующее

<%= link_to "Home", :controller=> "home", :action=> "index", :style=>{:position=>"absolute", :top=>"0px"} %>

- это что-то вроде вышеперечисленного. Я не хочу добавлять классы CSS.

Спасибо.

Обновление - извините Salil . это не работает для link_to_remote. Мне нужно решение, которое работает для любого вспомогательного тега

<%= link_to_remote "Next", :style=>"float:right;", :update=>"uxUpdateDiv", :url=>{:controller=> "home", :action=> "next"}, :before=> "jQuery('#uxcLoader').css('display','block'); jQuery('#uxOverLay').css('display','block');",:success=> "jQuery('#uxcLoader').css('display','none'); jQuery('#uxOverLay').css('display','none');" %>

стиль, кажется, вообще не применяется ... !! даже атрибут style не сформирован.

1 Ответ

1 голос
/ 12 мая 2010

Да, вы делаете это следующим образом

<%= link_to "Home", {:controller=> "home", :action=> "index"}, :style=>"position:absolute;top:0px" %>

Это создаст следующий HTML

<a href="/home" style="position: absolute; top: 0px;">Home</a>

Это зависит от того, какой тег вы используете для какого-либо тега, который нужно добавить : html> {}

Для link_to_remote вы должны написать

<%= link_to_remote "Next", 
                :update=>"uxUpdateDiv", 
                :url=>{:controller=> "home", :action=> "next"}, 
                :html=>{:style=>"float:right;"},
                :before=> "jQuery('#uxcLoader').css('display','block'); jQuery('#uxOverLay').css('display','block');",
                :success=> "jQuery('#uxcLoader').css('display','none'); jQuery('#uxOverLay').css('display','none');" %>

это создаст следующий html-файл.

<a href="#" onclick="jQuery('#uxcLoader').css('display','block'); jQuery('#uxOverLay').css('display','block');; new Ajax.Updater('uxUpdateDiv', '/home/next', {asynchronous:true, evalScripts:true, onSuccess:function(request){jQuery('#uxcLoader').css('display','none'); jQuery('#uxOverLay').css('display','none');}}); return false;" style="float: right;">Next</a>
...