我们知道Rails中的helper方法(比如link_to)默认只能在模板(Template)中使用,如果想要在控制台中调用,可以加前缀helper:
helper.link_to
#或者
ApplicationController.helpers.link_to
虽然比较少见,不过如果真的要在Controller或Model中呼叫Helper,则也可以用ApplicationController.helpers前缀调用helper方法.
接下来,如果你实际想写个链接试一下就会报错:
helper.link_to("staff",staff_path(Staff.first))
#报错如下:
NoMethodError: undefined method `staff_path' for main:Object
这是因为staff_path需要加上app前缀调用:
helper.link_to("staff",app.staff_path(Staff.first))
#输出
"<a href=\"/staffs/1\">staff</a>"
你可以添加任意相关属性:
helper.link_to("staff",app.staff_path(Staff.first),target:"_blank")
"<a href=\"/staffs/1\" target=\"_blank\">staff</a>"