我正在为我的 Rails 应用程序进行重构。我已经阅读了很多关于将控制器逻辑移动到模型的帖子,但是我在尝试时遇到了一些问题。
我需要帮助
- 了解以下错误的原因
- 需要知道我应该阅读哪些文档才能成功地将我的所有控制器逻辑移动到模型中
由于我还没有对我的应用程序进行任何重大重构,所以先尝试了一个简单的重构。
PostsController(之前)
def create
@post = Post.create(params[:post])
@post.user_id = session[:user_id]
@post.num_likes = 0
@post.num_dislikes = 0
@geoip = GeoIP.new("#{Rails.root.to_s}/db/GeoIP.dat").country(request.remote_ip)
@post.user_location = @geoip.country_name
end
PostModel(新)
before_save :initialize_post
def initialize_post
self.user_id = session[:user_id]
self.num_likes = 0
self.num_dislikes = 0
@geoip = GeoIP.new("#{Rails.root.to_s}/db/GeoIP.dat").country(request.remote_ip)
self.user_location = @geoip.country_name
end
PostsController(新)
def create
@post = Post.create(params[:post])
end
但是,由于session undefined
AND之类的错误,我连这个简单的重构都没有完成method request undefined
。我不确定为什么这些动作不能在模型类中使用。
有人可以解释这背后的原因并指导我找到一些可以帮助我顺利完成重构过程的好文档吗?
非常感谢。