2010-07-16 76 views
1

所以我试图使用link_to在我的Rails应用程序中创建一个链接,并尝试将CS​​S类添加到某些链接。我遇到的问题是,当我将html选项添加到link_to参数时,链接不会被创建,最终我什么都没有。这里是我的代码:Rails Link_To没有正确添加CSS类

<%=link_to(image_tag(@beetle.icon_img, :width=>30, :alt=>"Beetle", :border=>0) , beetle, :html=>{:class=>"work"}) %> 

我也试过这个变化,它仍然没有工作。例如,

<%=link_to(image_tag(@beetle.icon_img, :width=>30, :alt=>"Beetle", :border=>0) , beetle, :class=>"work") %> 

该方法还表现出一些奇怪的行为,我认为这可能是罪魁祸首。如果我直接进入页面,没有POST或GET请求,link_to可以正常工作,并且链接和图像可以正确渲染,也就是说它们实际上是渲染的。但是,我希望进入页面的方式是通过上一页中的表单POST请求,其行为是我试图访问的结果页面。

感谢您提供任何帮助!

编辑:我不确定究竟是什么问题,但我解决了它通过更改窗体的方法GET而不是POST。

回答

0

这很可能是因为POST请求正在碰到不同的方法(新),而不是(show)。您必须向视图提供适当的实例变量。你似乎在引用@ beetle和甲虫。看看所有这些变量,因为这似乎是POST问题。

+0

不幸的是,这是我的错误。我忘了从我之前的代码中删除@,但他们引用了同样的东西。 – CCSab 2010-07-16 16:03:38

+0

所以我有两个link_to佣工在同一个页面上使用同一个甲虫变量。如果没有附加任何html选项,则无论是否为POST请求,都会创建并显示正确的链接。这个问题只发生在最后附加html选项时。 – CCSab 2010-07-16 16:14:24