【发布时间】:2014-07-27 23:25:13
【问题描述】:
我有一个表单,我根据用户想要生成的次数生成一组特定的用户输入字段
示例:
如果用户给出 2 作为输入,那么一段 javascript 将生成两组相同的输入字段
工作流程示例:
有多少用户:2
//生成的字段
输入用户 1 信息
- 姓名:
- 地址:
- 照片:
输入用户 2 信息
- 姓名:
- 地址:
- 照片:
我已将字段名称设置为数组
<input type="text" name="name[]" >
<input type="text" name="address[]" >
<input type="file" name="photo[]" >
<input type="hidden" name="user_count" value="count">
在我的控制器中,当循环到达照片字段时,它会抛出错误undefined method [] for nil:NilClass
@current_user = 0
@number_of_users = params[:user_count].to_i
until @curret_field > (@number_of_users-1) do
@user=User.new
@user.name=params[:name][@current_user]
@user.address=params[:address][@current_user]
@user.photo=params[:photo][@current_user]
end
【问题讨论】:
-
这意味着
params哈希不包含键photo -
只有在照片字段留空并提交时才会抛出此错误。
-
如果我们提交的表单
params[:user_count]高于实际输入数,此代码将中断 -
你是对的@MrYoshiji,我已经验证了我的javascript中的输入,它会生成一组相同的输入字段,只有输入值小于20。
标签: ruby-on-rails file-upload paperclip forms