简体   繁体   English

播放2.5:找不到参数消息的隐式值:play.api.i18n.Messages

[英]Play 2.5: could not find implicit value for parameter messages: play.api.i18n.Messages

I followed all the answers as provided in various links on this topic: 我遵循了该主题各个链接中提供的所有答案:

Play 2.4: Form: could not find implicit value for parameter messages: play.api.i18n.Messages 播放2.4:形式:找不到参数消息的隐式值:play.api.i18n.Messages

could not find implicit value for parameter messages: play.api.i18n.Messages 找不到参数消息的隐式值:play.api.i18n.Messages

Yet, I am not able to get pass this error: 但是,我无法通过此错误:

app/views/user.scala.html:4: could not find implicit value for parameter messages: play.api.i18n.Messages

[error]   @helper.inputText(userForm("name"))
[error]                    ^
[error] app/views/user.scala.html:5: could not find implicit value for parameter messages: play.api.i18n.Messages
[error]   @helper.inputText(userForm("age"))

I am following the example from here: https://www.playframework.com/documentation/2.5.x/ScalaForms 我正在从这里关注示例: https : //www.playframework.com/documentation/2.5.x/ScalaForms

user.scala.html: user.scala.html:

@(userForm: Form[UserData]) (implicit messages: Messages)

@helper.form(action = routes.UserController.userPost()) {
  @helper.inputText(userForm("name"))
  @helper.inputText(userForm("age"))
}

UserController.scala: UserController.scala:

package controllers

import play.api.mvc._
import play.api.Play.current

import play.api.data._
import play.api.data.Forms._
import javax.inject.Inject
import play.api.i18n.I18nSupport
import play.api.i18n.MessagesApi
import play.api.i18n.Messages.Implicits._

import views._

case class UserData(name: String, age: Int)

class UserController @Inject()(val messagesApi: MessagesApi) extends Controller with I18nSupport {
   val userForm = Form(
     mapping(
       "name" -> text,
       "age" -> number
     )(UserData.apply)(UserData.unapply)
   )

   def index = Action {implicit request =>
     Ok(views.html.user(userForm))
   }
   def userPost = Action {implicit request =>
      userForm.bindFromRequest.fold(
        formWithErrors => {
          // binding failure, you retrieve the form containing errors:
          BadRequest(views.html.user(formWithErrors))
        },
        userData => {
         /* binding success, you get the actual value. */
         val name = userData.name
         val age = userData.age
         Ok(<message>Success !!</message>)
        }
      )
   }
}

Everything looks good, except perhaps the space between: 一切看起来都很不错,除了以下两者之间的间隔:

@(userForm: Form[UserData]) (implicit messages: Messages)

Try: 尝试:

@(userForm: Form[UserData])(implicit messages: Messages)

Since it's supposed to be a grouped parameter 由于它应该是一个分组参数

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM