調用重定向方法,我想寫出這樣如何在型號
require 'sinatra'
class MyModel
def edit(request)
# ...
updateOK = true
redirect '/article_view' if updateOK
:article_edit
end
end
get '/article_view' do erb :article_view end
get '/article_edit' do erb :article_edit end
post '/article_edit' do
model = MyModel.new
erb model.edit(request)
end
代碼,但它不到風度的工作,它是提示:未定義的方法'重定向」爲#<爲MyModel:0x24e3910 >
有沒有辦法在我的自定義模型中調用重定向方法?
哈哈,我知道如何使代碼工作,儘管它寫錯了方式。
require 'sinatra'
class MyModel
def edit(context)
# ...
updateOK = true
context.redirect '/article_view' if updateOK
:article_edit
end
end
get '/' do erb :index end
get '/article_view' do erb :article_view end
get '/article_edit' do erb :article_edit end
post '/article_edit' do
model = MyModel.new
erb model.edit(self)
end
你不應該這樣做。模型不應該知道關於URL的任何信息。這是控制器的工作(按照Sinatra的說法,路由)。 – Phrogz