我有一个简单的ruby/sinatra应用程序,我正试图迁移到crystal/kemal。当用户提交表单选择时,sinatra版本将参数作为哈希发布
{"category"=>["selection1", "selection2",..]}
然后,我通过以下方式将选择传递给视图
render index.erb
在
post
路线然而,在kemal中,我可以收集参数,但无法确定如何在视图中访问它们。我一直在犯错误
undefined local variable or method
.
如何使视图访问提交的参数?
这是sinatra代码
邮递
路线:
post '/' do
if params.values.flatten.length < 1
flash[:warning] = "Please choose at least one AED"
redirect '/'
else
params
erb :index
end
end
以及相应的凯末尔代码:
post "/" do |env|
selected_drugs = env.params.body.fetch_all("drugs")
if selected_drugs.size < 1
env.flash["warning"] = "Please choose at least one AED"
render "src/views/index.ecr"
else
selected_drugs
render "src/views/index.ecr"
end
end
Kemal.run