Scala播放传递变量以查看无法正常工作

时间:2012-07-25 17:07:37

标签: scala playframework

此代码可以正常工作:

在控制器中:

Ok(views.html.payment(message,test,x_card_num,x_exp_date,exp_year,exp_month,x_card_code,x_first_name,x_last_name,x_address,x_city,x_state,x_zip,save_account,product_array,x_amount,products_json,auth_net_customer_profile_id,auth_net_payment_profile_id,customer_id))

在视图中:

@(message: String, test: String, x_card_num: String, x_exp_date: String,exp_year: String, exp_month: String, x_card_code: String, x_first_name: String, x_last_name: String, x_address: String, x_city: String, x_state: String, x_zip: String, save_account: String, product_array: Map[String,Map[String,Any]], x_amount: String, products_json: String, auth_net_customer_profile_id: String,auth_net_payment_profile_id: String,customer_id: String)

但是当我尝试向控制器添加一个变量并且像这样查看时:

Ok(views.html.payment(message,test,x_card_num,x_exp_date,exp_year,exp_month,x_card_code,x_first_name,x_last_name,x_address,x_city,x_state,x_zip,save_account,product_array,x_amount,products_json,auth_net_customer_profile_id,auth_net_payment_profile_id,customer_id,saved_payments_xml))


@(message: String, test: String, x_card_num: String, x_exp_date: String,exp_year: String, exp_month: String, x_card_code: String, x_first_name: String, x_last_name: String, x_address: String, x_city: String, x_state: String, x_zip: String, save_account: String, product_array: Map[String,Map[String,Any]], x_amount: String, products_json: String, auth_net_customer_profile_id: String,auth_net_payment_profile_id: String,customer_id: String, saved_payments_xml: String)

它给了我这个错误:

missing parameter type 

我做错了什么?

1 个答案:

答案 0 :(得分:7)

您可以传递给template的参数数量有限制。添加其他参数后,您已超出它。

这是一个未记录且相当随意的限制,它是模板生成代码的工作原理。它可以说是一个错误,但不是我要修复的错误,因为没有人需要这么多的参数,并且这么多使得代码的可读性更低。

这里你最好的解决方案是重构,例如通过创建一些案例类来代表模型中的Card和Address,然后传递它们。