【问题标题】:Rails: Print to page, not to console?Rails:打印到页面,而不是控制台?
【发布时间】:2011-05-11 18:12:40
【问题描述】:

我想编写一个辅助方法来打印单选按钮列表。显而易见的方法是让辅助方法返回一串 html 代码供我的视图文件呈现。

但这并不漂亮,在<li> 之后附加<li> 到一个字符串,然后返回它。

当然,如果我可以依次打印每一行 html,代码会更具可读性。我可以将行打印到输出流并最终显示在我的页面上(而不是在服务器控制台上)吗?

(我使用的是 rails 2.3.5,顺便说一句。)

【问题讨论】:

    标签: ruby-on-rails methods helper helpers


    【解决方案1】:

    您可以通过调用 content_tag 并传入所需的元素和呈现一些 HTML 的块(如 radio_button 帮助器)在帮助器方法中构建一个列表,然后将整个混乱加入一个字符串,例如(航空代码)

    module SomeHelper
      def radio_button_list(things)
        things.collect do |thing|
          content_tag(:li) { radio_button(thing.foo, thing.bar, thing.baz) }
        end.join
      end
    end
    

    【讨论】:

    • 最好在 content_tag 周围使用 concat,而不是最后使用 join。如果您有多个嵌套级别,这将非常有用。
    • 我曾考虑连接一个长字符串,然后输出到页面。它缺乏我希望达到的清洁度,但我想没有别的了。谢谢。
    猜你喜欢
    • 2017-11-18
    • 2020-05-17
    • 2015-10-28
    • 2022-11-22
    • 2023-03-22
    • 2020-10-10
    • 2010-10-08
    • 2018-10-29
    • 2019-08-31
    相关资源
    最近更新 更多