Action definitions for this controller.
beforeAction/afterAction support.
beforeAction/afterAction support.
http://guides.rubyonrails.org/action_controller_overview.html
Provides Cross-Site Request Forgery (CSRF) protection.
SkinnyEnv support.
Explicit redirect method support.
File upload feature.
File upload feature.
When using file upload feature, we cannot use SkinnyController(= serlvet Filter) due to Servlet restriction.
// src/main/scala/controller/FileUploadController.scala class FileUploadController extends SkinnyServlet with FileUploadFeature { def form = render("/fileUpload/form") def submit = { fileParams.get("file") match { case Some(file) => println(new String(file.get())) case None => println("file not found") } redirect(url(Controllers.fileUpload.formUrl)) } // src/main/scala/controller/Controllers.scala object fileUpload extends FileUploadController with Routes { val formUrl = get("/fileupload")(form).as('form) val submitUrl = post("/fileupload/submit")(submit).as('submit) } fileUpload.mount(ctx)
Easy-to-use Flash support.
JSON response support.
Easy-to-use default/session-based Locale configuration.
Request scope support.
RichRoute support.
Scalate implementation of TemplateEngineSupport.
Scalate implementation of TemplateEngineSupport.
This is basically same as Scalatra's Scalate support, but the convention of template file path is inspired by Ruby on Rails.
render("/members/index")
The above code expects "src/main/webapp/WEB-INF/views/members/index.html.ssp" by default.
If you need to use scaml instead,
override lazy val scalateExtension: String = "scaml"
And then, Skinny expects "src/main/webapp/WEB-INF/views/members/index.html.scaml"
Filtering sensitive parameters.
Filtering sensitive parameters.
config.filter_parameters in Rails.
Supports snake_case'd keys for parameter names.
TemplateEngine support for Skinny app.
Enables time logging.
Validation support for Skinny app.
Action definitions for this controller. These definitions will be used for beforeAction/afterAction's only/except.