Friday, 15 June 2012

ruby - Update one value in params -



ruby - Update one value in params -

i getting in params:

parameters: {"utf8"=>"✓", "authenticity_token"=>"wdokjri8no6xcoobanithp1ktvnvwvwyjl1vceuftso=", "complete"=>"not completed", "commit"=>"save data", "task_form"=>{"rent_balance"=>"$900.00", "misc_balance"=>"$0.00", "total_balance"=>"$900.00", "date_of_petition"=>"", "nop_court"=>"select", "index_number"=>""}, "id"=>"1059"}

i have update value of nop_court nil if value 'select'. had written following:

if params[:task_form][:nop_court] == "select" @task.update_data_item_values(@task_form_attributes) @task.update_data_item_values(params[:task_form][:nop_court] => " ") else @task.update_data_item_values(@task_form_attributes) end

in params[:task_form][:nop_court] getting value select above code not working. how can params nop_court

code within method called update_data_item_values as:

def update_data_item_values(task_form_attributes) #list of info items task @task_data_items = self.data_items if task_form_attributes #updating value each info item task_form_attributes.keys.each |task_data_item_name| task_data_item = @task_data_items.select { |task_data_item| task_data_item.data_item_name == task_data_item_name}.first value = task_form_attributes[task_data_item_name] if task_data_item.present? if task_data_item.data_item_data_type == "date" if value.present? formatted_value = task_data_item.blank? ? date.strptime(value, '%m-%d-%y').strftime("%y-%m-%d") : value #formatted_value = value.to_datetime.strftime('%m-%d-%y') unless value.blank? data_item_value = formatted_value end else data_item_value = value end end task_data_item.update_attributes(:data_item_value => data_item_value) if task_data_item.present? end end end

before if statement assume assigning @task_form_attributes as:

@task_form_attributes = params[:task_form]

try updating variable before calling update_data_item_values:

if params[:task_form][:nop_court] == "select" @task_form_attributes[:nop_court] = " " end @task.update_data_item_values(@task_form_attributes)

ruby ruby-on-rails-3.2

No comments:

Post a Comment