可能是一些非常基本的东西,但我希望能够将我的Sinatra路线与控制器分开。我在routes.rb
:
require 'sinatra/base'
class Server < Sinatra::Base
get '/' do
Action.index
end
end
这是我的controller/server.rb
class Action
def sef.index
@user = User.new("Abiodun Shuaib")
haml: index
end
end
它提供错误undefined method 'haml' in Action:Class
。
我该如何解决这个问题?
答案 0 :(得分:3)
您正在尝试访问Action类中的方法haml。它根本不包含它。 例如,你可以这样做:
class Server
def index
@user = User.new("Abiodun Shuaib")
haml :index
end
end
通过执行此操作,您将添加到Server方法索引。
或者你可以这样做(它叫做Mixin):
module ActionNew
def index
@user = User.new("Abiodun Shuaib")
haml :index
end
end
class Server < Sinatra::Base
include ActionNew
get '/' do
index
end
end