Ruby on Rails - link_to button/css

Chr*_*sMJ 38 css ruby-on-rails

好的,所以我在开发一个简单的api和web界面时自学RoR.我一直在关注一些指南并测试不同的结果.我已经模拟了一些HTML模板,而我正处于开始将其剥离为视图的过程中.

在我的HTML中,我有以下代码,这是一个带有CSS样式的Button:

 <input type="submit" name="" value="Add" id="open-contacts-dialog-btn" class="inbox-sf-add-btn tip" title="Open an dialog to add a new contact"/>  
Run Code Online (Sandbox Code Playgroud)

这是我的面板中的按钮,我想链接到/ book/new /,我知道我需要一个link_to,但是我的最终代码是什么?我试过的代码如下

<%= link_to "Add", new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>
Run Code Online (Sandbox Code Playgroud)

但它没有添加我的CSS样式,它只是生成文本"添加".任何帮助都会有用.谢谢

Pet*_*ong 78

link_to生成一个<a>标签,但不是input type="submit".您应该使用的应该是a button_to,它会生成一个带有input type="submit"链接按钮的表单:

<%= button_to "Add", new_admin_course_path, :id => "open-contacts-dialog-btn",
      :class => "inbox-sf-add-btn tip", :method => :get %>
Run Code Online (Sandbox Code Playgroud)

请注意:method => :get.如果没有它,button_to将生成一个方法设置为post的表单.

  • 这有效,谢谢.实现Twitter Bootstrap的人应该知道不会为此表单生成<button>标记.尽管ActionView帮助程序名称为button_to,但它是<input>.更多信息:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to (5认同)

Rob*_*ert 10

我最近不得不这样做,因为我的表单对于link_to的行为与使用button_to不同,我需要链接提供的功能.我找到的最佳解决方案根本不使用CSS,而是调用.html_safe来转义ruby代码中的html并正确显示链接作为按钮.你想要做的是:

<%= link_to "<button>Add</button>".html_safe, new_admin_course_path, :id=>"open-contacts-dialog-btn", :class=>"inbox-sf-add-btn tip" %>
Run Code Online (Sandbox Code Playgroud)

  • 只是让其他Bootstrap用户知道这不适用于导航栏中的按钮,因为它将css类放在<a>标签而不是<button>标签上.我注意到这个解决方案的作者没有处理Bootstrap,所以这并不意味着解决方案对其他情况无效. (3认同)