文字列のリストを含むレコードを追加しようとしています。
モデル:
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
しかし、ログに次のエラーが表示されます。
Started POST "/startups" for 127.0.0.1 at 2013-04-25 05:05:00 -0300
Processing by StartupsController#create as JS
Parameters: {"utf8"=>"✓", "startup"=>{"name"=>"test", "url"=>"http://startupcrawler.com", "category"=>["", "Analytics", "Fitness", "Gaming"], "founded(1i)"=>"2013", "founded(2i)"=>"4", "founded(3i)"=>"1", "description"=>"fdsa"}, "commit"=>"Create Startup"}
Unpermitted parameters: category
[1m[35m (0.2ms)[0m BEGIN
[1m[36m (0.2ms)[0m [1mROLLBACK[0m
Completed 500 Internal Server Error in 85ms
私は何を間違っていますか?カテゴリー連載しないのはなぜ?
編集:
このメソッドが非推奨であることがわかりました。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)
しかし、新しいレコードは作成されません (何らかの理由で ROLLBACK)。
serialize :category
モデルから外しました。これは今私のコントローラーにあります:
def startup_params
params.require(:startup).permit(:name, :url, :added, :founded, :mal, :creator, :description, {:category => []})
end