我在show article view页面上关注link_to,
<%= link_to "Add Pictures",
new_picture_path(article_id: @article.id),
class: "btn btn-small btn-success" %>
通过在“btn”类的帮助下将“link”显示为按钮,这非常有效。唯一的问题是,单击后按钮上的文本会变为灰色(如访问过的访问链接)。如何将其保留为原始文本颜色(本例中为白色)?或者我需要什么样的css魔法来保持原始文本颜色。
或者我可以通过将其更改为button_to来修复它,如下所示,
<%= button_to "Add Pictures",
new_picture_path(article_id: @article.id),
method: :get, class: "btn btn-small btn-success" %>
但问题在于,我的article_id是get sets为nil,这导致了没有设置article_id的验证错误。
我该怎么办?使用css修复link_to(如何?)或修复button_to问题(如何?)。任何帮助表示赞赏。
答案 0 :(得分:2)
如果您的css代码包含:
a:visited {
color: #666666;
}
这可能导致link_to
和button_to
之间的呈现方式不同,因为link_to
将被解析为<a href=""></a>
而button_to
将被解析为<form>..</form>
}。
注意:如果您使用
<%= button_to 'Users', users_path(app_id: application.id), method: :get, class: 'btn btn-info btn-xs' %>
Rails将编译为:
<form class="button_to" method="get" action="/users?app_id=1">
<input class="btn btn-info btn-xs" type="submit" value="Users">
</form>
但是,点击按钮后,app_id=1
将不会传递到导轨中的params
。
解决方案是:
使用link_to
类属性:style: "color:white"
就像@Rahul所说的那样。
删除css代码:a:visited