Ruby on rails 用于选择的Rails未允许的参数
我试图添加一个包含字符串列表的记录 型号:Ruby on rails 用于选择的Rails未允许的参数,ruby-on-rails,strong-parameters,Ruby On Rails,Strong Parameters,我试图添加一个包含字符串列表的记录 型号: class Startup < ActiveRecord::Base before_validation(:on => :create) do self.mal = false end serialize :category attr_accessible :name, :url, :description, :category, :creator, :mal, :founded end 我做错了什么?为什么类别不
class Startup < ActiveRecord::Base
before_validation(:on => :create) do
self.mal = false
end
serialize :category
attr_accessible :name, :url, :description, :category, :creator, :mal, :founded
end
我做错了什么?为什么类别不能序列化
编辑:
刚刚发现这个方法不推荐使用,我正在使用Rails 4。。。我应该用什么来代替
编辑2:
现在在日志中获取此信息:
Started POST "/startups" for 127.0.0.1 at 2013-04-25 05:30:33 -0300
Processing by StartupsController#create as JS
Parameters: {"utf8"=>"✓", "startup"=>{"name"=>"blah", "url"=>"http://startupcrawler.com", "category"=>["", "Fitness"], "founded(1i)"=>"2013", "founded(2i)"=>"4", "founded(3i)"=>"1", "description"=>"fdsa"}, "commit"=>"Create Startup"}
[1m[36m (0.2ms)[0m [1mBEGIN[0m
[1m[35m (0.5ms)[0m ROLLBACK
Rendered startups/_form.html.erb (16.1ms)
Rendered startups/new.html.erb within layouts/application (18.9ms)
Completed 200 OK in 128ms (Views: 29.9ms | ActiveRecord: 0.8ms)
但是没有创建新记录(出于某种原因回滚)
我从模型中删除了serialize:category
。这现在在我的控制器中:
def startup_params
params.require(:startup).permit(:name, :url, :added, :founded, :mal, :creator, :description, {:category => []})
end
是因为这个原因内置在Rails 4中。是因为这个原因内置在Rails 4中。我会这样做吗<代码>参数许可证(:name,:url,:description,:category=>[],:creator,:mal,:founded)而不是
attr\u accessible
?我只加入了gem'attr_accessible
,以满足使用它的designe的要求。designe有一个Rails 4分支,我认为它与尚未发布的Rails 4兼容。很酷,我可能会去看看。我现在收到200条回复,但我的记录没有完成。我在上面添加了编辑。我会这样做吗<代码>参数许可证(:name,:url,:description,:category=>[],:creator,:mal,:founded)而不是attr\u accessible
?我只加入了gem'attr_accessible
,以满足使用它的designe的要求。designe有一个Rails 4分支,我认为它与尚未发布的Rails 4兼容。很酷,我可能会去看看。我现在收到200条回复,但我的记录没有完成,我在上面添加了编辑。
def startup_params
params.require(:startup).permit(:name, :url, :added, :founded, :mal, :creator, :description, {:category => []})
end