Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何创造创意推广?_Ruby On Rails_Devise - Fatal编程技术网

Ruby on rails 如何创造创意推广?

Ruby on rails 如何创造创意推广?,ruby-on-rails,devise,Ruby On Rails,Devise,我需要创建可重用的设计扩展。这是我第一次创作宝石。因此,根据其他Deave扩展的来源,我开始在'lib'文件夹中创建文件Deave\u sms\u authenticatable.rb,代码如下: # encoding: utf-8 unless defined?(Devise) require 'devise' end Devise.add_module :sms_authenticatable, :model => 'devise_sms_authenticatable/mode

我需要创建可重用的设计扩展。这是我第一次创作宝石。因此,根据其他Deave扩展的来源,我开始在'lib'文件夹中创建文件Deave\u sms\u authenticatable.rb,代码如下:

# encoding: utf-8
unless defined?(Devise)
  require 'devise'
end

Devise.add_module :sms_authenticatable, :model => 'devise_sms_authenticatable/model'
此外,我还在'lib'文件夹中创建了文件夹designe\u sms\u authenticable,并添加了model.rb,代码如下:

# encoding: utf-8
module Devise
  module Models
    module SmsAuthenticatable
      # ...
    end
  end
end
毕竟,我已经将我的新扩展添加到用户模型中

class User << ActiveRecord::Base
  devise ..., :sms_authenticatable
end

class User如果您正在将SMSAuthenticable模块放在
designe::Models
上,则无需通过
add_module
添加它,尽管您可能需要在
config/initializer/designe
上使用它(如果您正在编写gem,您可以避免这样做,因为您不会在初始化器上触摸designe.rb)

您也可以在gem lib目录中编写代码,而不必设计::Models,并且只添加这一行

Devise.add_module :sms_authenticatable, :model => 'sms_authenticatable'

而且设计中应该添加模块。

太好了!在designe.rb中添加了“designe\u sms\u authenticable”,一切正常!所以,在我把它全部放进一个单独的gem之前,它是唯一需要的。你介意在你的问题中提到的其他designe扩展的来源上发布链接吗?