加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Rails助手在哪里可用?

发布时间:2020-12-17 03:50:34 所属栏目:百科 来源:网络整理
导读:我指的是你在app / helpers中创建的模块.它们是否适用于: 意见? 控制器? 模特? 测试? 其他文件? 有时候? 一直都这么? 解决方法 在Rails 5中,所有视图和所有控制器都可以使用所有助手,而不是其他任何助手. http://api.rubyonrails.org/classes/Action
我指的是你在app / helpers中创建的模块.它们是否适用于:

>意见?
>控制器?
>模特?
>测试?
>其他文件?
>有时候?
>一直都这么?

解决方法

在Rails 5中,所有视图和所有控制器都可以使用所有助手,而不是其他任何助手.

http://api.rubyonrails.org/classes/ActionController/Helpers.html

These helpers are available to all templates by default.

By default,each controller will include all helpers.

在视图中,您可以直接访问助手:

module UserHelper
  def fullname(user)
    ...
  end
end

# app/views/items/show.html.erb
...
User: <%= fullname(@user) %>
...

在控制器中,您需要#helpers方法来访问它们:

# app/controllers/items_controller.rb
class ItemsController
  def show
    ...
    @user_fullname = helpers.fullname(@user)
    ...
  end
end

您仍然可以通过包含辅助模块来使用其他类中的辅助模块.

# some/other/klass.rb
class Klass
  include UserHelper
end

旧的行为是所有助手都包含在所有视图中,并且每个助手都包含在匹配的控制器中,例如. UserHelper只会包含在UserController中.

要返回此行为,您可以在config / application.rb文件中设置config.action_controller.include_all_helpers = false.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读