当前位置:  开发笔记 > 编程语言 > 正文

从Rails Helper返回多个标签的最佳方法是什么?

如何解决《从RailsHelper返回多个标签的最佳方法是什么?》经验,为你挑选了2个好方法。

我想创建一个隐藏字段并在一个帮助器中创建一个链接,然后输出到我的erb.

<%= my_cool_helper "something", form %>

应该把结果拿出来

link_to "something", a_path
form.hidden_field "something".tableize, :value => "something"

帮助者的定义是什么样的?link_to和form.hidden_​​field的细节并不重要.重要的是,如何从两个不同的调用返回输出.



1> Orion Edward..:

有几种方法可以做到这一点.

请记住,像link_to等等现有的rails助手只输出字符串.您可以将字符串连接在一起并返回(如果事情很简单,那就是我大部分时间都在做的事情).

例如:

link_to( "something", something_path ) +  #NOTE THE PLUS FOR STRING CONCAT
form.hidden_field('something'.tableize, :value=>'something')

如果您正在做更复杂的事情,您可以将该代码放在一个部分,然后进行帮助调用render :partial.

如果你做的事情比那更复杂,那么你可能想看看errtheblog的block_to_partial助手,这很酷



2> Sixty4Bit..:

到目前为止,我提出的最好的是:

def my_cool_helper(name, form)
  out = capture { link_to name, a_path }
  out << capture { form.hidden_field name.tableize, value => 'something' }
end

有没有更好的办法?

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有