ruby 在Helper中重构一个应用程序示例
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 在Helper中重构一个应用程序示例相关的知识,希望对你有一定的参考价值。
# Module
module ApplicationHelper
def load_collection(model, argument='name')
model.classify.constantize.all.map { |s| [s.send(argument), s.id] }
end
def present(object, klass = nil)
klass ||= "#{object.class}Presenter".constantize
presenter = klass.new(object, self)
yield presenter if block_given?
presenter
end
end
# Application examples:
# <%= f.input :company_id, label: 'Company', collection: load_collection('Company') %>
# <%= f.input :conservation_practices, label: 'Conservation Practice:', collection: load_collection('MmpStatic::FieldConservationPractice'), :include_blank => false %>
# <%= f.input :user_id, label: 'User', collection: load_collection('User', 'username') %>
#
#
以上是关于ruby 在Helper中重构一个应用程序示例的主要内容,如果未能解决你的问题,请参考以下文章
之前采用的是Helper类的方法重构时改用了扩展方法
ruby Rails Test Helper rails_helper.rb
ruby rspec system_helper
ruby form_helper.rb
ruby session_helper.rb
ruby application_helper.rb