在凯马尔使用params
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在凯马尔使用params相关的知识,希望对你有一定的参考价值。
我有一个简单的ruby / sinatra应用程序我试图迁移到crystal / kemal。当用户提交表单选择时,sinatra版本将params作为哈希值发布
{"category"=>["selection1", "selection2",..]}
然后我通过render index.erb
在post
路线中将选择传递给视图。但是在凯马尔,我可以收集参数,但无法弄清楚如何在视图中访问它们。我一直得到错误undefined local variable or method
。
如何使视图访问提交的参数?
这是post
路线的sinatra代码:
post '/' do
if params.values.flatten.length < 1
flash[:warning] = "Please choose at least one AED"
redirect '/'
else
params
erb :index
end
end
和相应的kemal代码:
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
答案
没有在使用index.ecr
的所有路线中定义保持参数的变量。一旦完成它就有效了。有趣的是,我没有必要在sinatra的某些路线中定义它。
以上是关于在凯马尔使用params的主要内容,如果未能解决你的问题,请参考以下文章
已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段
已解决在react+ts中 atnd 用 upload 组件报错Failed to execute ‘readAsArrayBuffer,param 1 is notof type Blob(代码片段
[原创]java WEB学习笔记61:Struts2学习之路--通用标签 property,uri,param,set,push,if-else,itertor,sort,date,a标签等(代码片段