From a1e688b293774261f7b8ad70428c07a14e3318ca Mon Sep 17 00:00:00 2001 From: Eric Guo Date: Fri, 3 Oct 2014 12:54:36 +0800 Subject: [PATCH] Support attr_accessible appears multi times. --- lib/attr_accessible2strong_params/converter.rb | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/attr_accessible2strong_params/converter.rb b/lib/attr_accessible2strong_params/converter.rb index 716f204..c50360c 100644 --- a/lib/attr_accessible2strong_params/converter.rb +++ b/lib/attr_accessible2strong_params/converter.rb @@ -5,9 +5,13 @@ class AttrAccessible2StrongParams::Converter def read_attr_accessible(filename) root_node, comments = parse_file_with_comments(filename) - m = root_node.each_node(:send).select {|n| n.children[1] == :attr_accessible}.first - @model_class_name = m.parent.parent.children[0].children[1] - @aa_list = m.each_node(:sym).collect {|n| n.children[0]} + aa_nodes = root_node.each_node(:send).select {|n| n.children[1] == :attr_accessible} + aa_fields = [] + aa_nodes.each do |m| + @model_class_name = m.parent.parent.children[0].children[1] + aa_fields <<= m.each_node(:sym).collect {|n| n.children[0]} + end + @model_fields = aa_fields.flatten end def write_controller_with_strong_params(filename)