Ruby on rails 视图和控制器的Rails助手?
我知道有一些方法可以让管制员使用助手,但这通常是不好的形式。应如何重新处理以下内容以避免这种情况 我有一个名为“全名”的联系人助手,它结合了联系人的名字和姓氏 称为subheader的局部布局在应用程序布局中呈现,并包含以下代码:Ruby on rails 视图和控制器的Rails助手?,ruby-on-rails,layout,scope,helpers,controllers,Ruby On Rails,Layout,Scope,Helpers,Controllers,我知道有一些方法可以让管制员使用助手,但这通常是不好的形式。应如何重新处理以下内容以避免这种情况 我有一个名为“全名”的联系人助手,它结合了联系人的名字和姓氏 称为subheader的局部布局在应用程序布局中呈现,并包含以下代码: <section id="subheader"><%= @subheader %></section> 控制器设置@subheader的值 问题是我经常在@subheader中使用“全名”。但这意味着从控制器访问帮助器。这个全
<section id="subheader"><%= @subheader %></section>
控制器设置@subheader的值
问题是我经常在@subheader中使用“全名”。但这意味着从控制器访问帮助器。这个全名方法应该驻留在其他地方吗?对于类似全名的东西,我通常只在模型本身上定义一个方法
如果fullname方法进行了某种类型的HTML格式化,那么我会将这些部分保存在助手中。使用类似fullname的内容,我通常只在模型本身上定义一个方法
如果全名方法使用了某种类型的HTML格式,那么我会将这些部分保存在助手中。由于您问题的标题可能会吸引观众寻找不同的答案,我将回答“我可以在控制器中使用rails助手吗?”?这有合法的用途,所以下面是最干净的方法: 在helpers文件中,将要在模型中访问的代码包装如下:
module HelperModuleName
[helper code here]
end
仅包装需要在控制器中使用的代码(而不是使用包含ApplicationHelper
包含所有帮助程序)是一个好主意,因为它减少了方法名称冲突的可能性,并迫使您更加慎重地选择在控制器中使用帮助程序
现在,将模块包括在您的应用程序_controller.rb中:
class ApplicationController < ActionController::Base
protect_from_forgery
include HelperModuleName
end
class ApplicationController
由于您问题的标题可能会吸引寻求不同答案的观众,因此我将回答“我可以在控制器中使用rails助手吗?”?这有合法的用途,所以下面是最干净的方法:
在helpers文件中,将要在模型中访问的代码包装如下:
module HelperModuleName
[helper code here]
end
仅包装需要在控制器中使用的代码(而不是使用包含ApplicationHelper
包含所有帮助程序)是一个好主意,因为它减少了方法名称冲突的可能性,并迫使您更加慎重地选择在控制器中使用帮助程序
现在,将模块包括在您的应用程序_controller.rb中:
class ApplicationController < ActionController::Base
protect_from_forgery
include HelperModuleName
end
class ApplicationController