如何为actionview助手标签添加样式?

时间:2010-05-12 07:47:52

标签: ruby-on-rails actionviewhelper

如何为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');" %>

这种风格似乎根本没有应用...... !!即使没有形成样式属性。

1 个答案:

答案 0 :(得分:1)

是的,你是按照以下方式做的

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

这将创建以下HTML

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

这取决于您为某些标记使用的标记,您必须添加:html&gt; {}

对于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>
相关问题