Rails 2.3.11にアップグレードした後、SlickGridを使用してデータセットと呼ばれるものを作成できなくなりました。トグルアイコンをクリックしてデータセットを作成すると、次のスタックトレースが表示されます。
NoMethodError (undefined method `name' for {"name"=>"Data Set 1", "values"=>["", ""]}:Hash):
lib/slick_data.rb:99:in `to_data_json'
lib/slick_data.rb:97:in `map'
lib/slick_data.rb:97:in `to_data_json'
app/controllers/data_sets_controller.rb:11:in `index'
haml (3.0.22) lib/sass/plugin/rack.rb:41:in `call'
airbrake (3.0.4) lib/airbrake/rack.rb:27:in `call'
airbrake (3.0.4) lib/airbrake/user_informer.rb:12:in `call'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/httpserver.rb:104:in `service'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/httpserver.rb:65:in `run'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:173:in `start_thread'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:162:in `start'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:162:in `start_thread'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:95:in `start'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:92:in `each'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:92:in `start'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:23:in `start'
/Users/jasonbodak/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/webrick/server.rb:82:in `start'
slick_data.rbの「to_data_json」コードは次のとおりです。
def to_data_json
new_data = sanitized_data.map do |d|
h = {}
h['data_set_name'] = d.name
j = 1
d['values'].each do |v|
h["var_#{j}"] = v
j += 1
end
h
end
ActiveSupport::JSON.encode(new_data)
end
そして、data_sets_controller.rbの「index」のコードは次のとおりです。
def index # Ajax
@scenario = Scenario.find(params[:scenario_id])
sd = SlickData.new(@scenario.data_sets)
render :json => {
:html => render_to_string(:layout => false,
:template => 'data_sets/index.html.erb',
:object => @scenario),
:id => @scenario.id,
:data => sd.to_data_json,
:columns => sd.to_col_json,
}
end
私はおそらく私のjsongemをアップグレードする必要がありますか?1.4.6を使用しています。または、SlickGridのバージョンをアップグレードする必要がありますか?バージョン1.4.3を使用しています。ありがとう。