ruby-on-rails – Rails视图Helper函数和link_to函数
发布时间:2020-12-17 03:52:07 所属栏目:百科 来源:网络整理
导读:我正在尝试创建一个辅助函数(例如在application_helper.rb中),该函数根据传入辅助函数的参数生成link_to.如果我将链接放在ERB文件中,它的格式为: %= link_to 'Some Text',{ :controller = 'a_controller',:action = 'an_action' } % 在辅助函数中,Text,Cont
我正在尝试创建一个辅助函数(例如在application_helper.rb中),该函数根据传入辅助函数的参数生成link_to.如果我将链接放在ERB文件中,它的格式为:
<%= link_to 'Some Text',{ :controller => 'a_controller',:action => 'an_action' } %> 在辅助函数中,Text,Controller和Action都被传入或计算.辅助函数中的代码是: params = "{ :controller => '#{controller}',:action => '#{action_to_take}'}" html = "#{link_to some_text,params }<p />" return html 生成的链接具有正确的文本,但参数实际上是params字符串的内容. 如何获取要评估的params字符串(因为它在ERB文件中)? 解决方法
我觉得你脑子里的事情过于复杂.除非你试图做一些非常奇怪(并且不可取)的事情,否则这会有效:
def link_helper text,controller,action link_to text,:controller => controller,:action => action end 虽然,你可以看到它不值得它成为一个帮手 – 它几乎不比它的包装功能简单,而且灵活性要低得多. link_to帮助器返回一个字符串,因此以您想要的方式使用它非常简单: def link_helper text # some helper logic: controller = @controller || "pages" action = @action || "index" # create the html string: html = "A link to the #{controller}##{action} action:" html << link_to(text,:action => action) html # ruby does not require explicit returns end (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |