我正在尝试将一些参数(计数)从表单传递给模型。
该模型基本上创建了一个用户X次。
在我们的表格中,我们有:
= f.text_field :count
我可以看到这是在开发中正确提交的。日志:
user"=>{"count"=>"2"}
我在我的控制器中试过这个:
@user = User.generate(params[:count])
然后Generate应该在我的用户模型中调用它:
def self.generate(count=10)
count.times do
.....
end
我基本上需要将'10'替换为来自表单的计数。
我该如何解决这个问题?
- 更新1 -
我编辑如下,但不得不从count更改为usercount因为我认为这是在rails中保留的..
我在控制器中有这个:
@user = User.generate(params[:user][:usercount])
这在我的user.rb中:
attr_accessor :usercount
def self.generate
usercount.times do
...
end
当我提交时,我明白了:
ArgumentError (wrong number of arguments (1 for 0)):
app/models/user.rb:22:in `generate'
app/controllers/users_controller.rb:38:in `new_users_create'
非常令人沮丧......
答案 0 :(得分:3)
class User
attr_accessor :count
end
@user = User.generate(params[:user][:count])
应该可以正常工作。