Hi, When updating a ReferralProgram object that has nested Pages in it I get the error in the subject line. Rails generates parameters that look like this: {"pages_attributes"=>{"0"=>{"body"=>"blabla", "subject"=>"blabla", "id"=>"1"}}} When the id parameter is removed like this: {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} The exception is not raised. Any ideas on this? The relevant part that ''crashes'' the form: form.html.haml --- - form.inputs :name => I18n.translate("strings.pages") do - form.semantic_fields_for :pages do |pages| %h3= pages.object.title %div.page_description= pages.label :description, pages.object.description = pages.input :subject unless pages.object.name.eql?("thankyou_page") = pages.input :body Example console session: ruser@user-laptop:~/rails/1referralprogram$ script/console Loading development environment (Rails 2.3.8) h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", "subject"=>"blabla", "id"=>"1"}}}>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", ?> "subject"=>"blabla", ?> "id"=>"1"}}} => {"pages_attributes"=>{"0"=>{"body"=>"blabla", "id"=>"1", "subject"=>"blabla"}}}>> r = ReferralProgram.new(h)NoMethodError: undefined method `to_sym'' for nil:NilClass from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/whiny_nil.rb:52:in `method_missing'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2302:in `expand_hash_conditions_for_aggregates'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2301:in `each'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2301:in `expand_hash_conditions_for_aggregates'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2333:in `sanitize_sql_hash_for_conditions'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2266:in `sanitize_sql'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1524:in `merge_conditions'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1522:in `each'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1522:in `merge_conditions'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1834:in `add_conditions!'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1717:in `construct_finder_sql'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:1578:in `find_every'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:618:in `find'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:638:in `all'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_collection.rb:380:in `send'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_collection.rb:380:in `method_missing_without_paginate'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2178:in `with_scope'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_proxy.rb:207:in `send'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_proxy.rb:207:in `with_scope'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_collection.rb:376:in `method_missing_without_paginate'' from /usr/lib/ruby/gems/1.8/gems/will_paginate-2.3.14/lib/will_paginate/finder.rb:170:in `method_missing'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_attributes.rb:349:in `assign_nested_attributes_for_collection_association'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_attributes.rb:244:in `pages_attributes='' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2906:in `send'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2906:in `assign_attributes'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2902:in `each'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2902:in `assign_attributes'' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2775:in `attributes='' from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:2473:in `initialize'' from /home/user/rails/1referralprogram/app/models/referral_program.rb:34:in `initialize'' from (irb):4:in `new'' from (irb):4>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} => {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}}>> r = ReferralProgram.new(h)=> #<ReferralProgram id: nil, name: nil, title: nil, description: nil, display_url: nil, destination_url: nil, image_file_name: nil, image_content_type: nil, image_file_size: nil, image_updated_at: nil, bonus_file_name: nil, bonus_content_type: nil, bonus_file_size: nil, bonus_updated_at: nil, support_contact_name: nil, support_email_address: nil, minimum_contacts_per_referral: 1, minimum_clicks_per_referral: 0, deleted_at: nil, created_at: nil, updated_at: nil>>>-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
I can''t really test this right now but here''s a thought: - If you create a new ReferralProgram with new Pages there shouldn''t be a Page ID in the params because these Pages don''t exist yet (If you assign existing pages double check if a Page with that ID exists). - If I remember this correctly multiple nested objects have to be in an array in the params like: "pages_attributes" => [ {"body"=>"blabla", "subject"=>"blabla"}, {"body" => "blublu", "subject"=>"blublu"} ] Hope this helps a little! Simon On Sep 14, 5:08 pm, Commander Johnson <commanderjohn...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:> Hi, > > When updating a ReferralProgram object that has nested Pages in it I > get the error in the subject line. > > Rails generates parameters that look like this: > > {"pages_attributes"=>{"0"=>{"body"=>"blabla", > "subject"=>"blabla", > "id"=>"1"}}} > > When the id parameter is removed like this: > > {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} > > The exception is not raised. Any ideas on this? > > The relevant part that ''crashes'' the form: > > form.html.haml > --- > - form.inputs :name => I18n.translate("strings.pages") do > - form.semantic_fields_for :pages do |pages| > %h3= pages.object.title > %div.page_description= pages.label :description, pages.object.description > = pages.input :subject unless pages.object.name.eql?("thankyou_page") > = pages.input :body > > Example console session: > > ruser@user-laptop:~/rails/1referralprogram$ script/console > Loading development environment (Rails 2.3.8) > h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", > "subject"=>"blabla", > "id"=>"1"}}}>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", > ?> "subject"=>"blabla", > ?> "id"=>"1"}}} > => {"pages_attributes"=>{"0"=>{"body"=>"blabla", "id"=>"1", > "subject"=>"blabla"}}}>> r = ReferralProgram.new(h) > > NoMethodError: undefined method `to_sym'' for nil:NilClass > from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/whiny_ni l.rb:52:in > `method_missing'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 02:in > `expand_hash_conditions_for_aggregates'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 01:in > `each'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 01:in > `expand_hash_conditions_for_aggregates'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 33:in > `sanitize_sql_hash_for_conditions'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:22 66:in > `sanitize_sql'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 24:in > `merge_conditions'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 22:in > `each'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 22:in > `merge_conditions'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:18 34:in > `add_conditions!'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:17 17:in > `construct_finder_sql'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 78:in > `find_every'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:61 8:in > `find'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:63 8:in > `all'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:380:in > `send'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:380:in > `method_missing_without_paginate'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:21 78:in > `with_scope'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_proxy.rb:207:in > `send'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_proxy.rb:207:in > `with_scope'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:376:in > `method_missing_without_paginate'' > from /usr/lib/ruby/gems/1.8/gems/will_paginate-2.3.14/lib/will_paginate/finder.r b:170:in > `method_missing'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_att ributes.rb:349:in > `assign_nested_attributes_for_collection_association'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_att ributes.rb:244:in > `pages_attributes='' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 06:in > `send'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 06:in > `assign_attributes'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 02:in > `each'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 02:in > `assign_attributes'' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:27 75:in > `attributes='' > from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:24 73:in > `initialize'' > from /home/user/rails/1referralprogram/app/models/referral_program.rb:34:in > `initialize'' > from (irb):4:in `new'' > from (irb):4>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} > => {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}}>> r = ReferralProgram.new(h) > > => #<ReferralProgram id: nil, name: nil, title: nil, description: nil, > display_url: nil, destination_url: nil, image_file_name: nil, > image_content_type: nil, image_file_size: nil, image_updated_at: nil, > bonus_file_name: nil, bonus_content_type: nil, bonus_file_size: nil, > bonus_updated_at: nil, support_contact_name: nil, > support_email_address: nil, minimum_contacts_per_referral: 1, > minimum_clicks_per_referral: 0, deleted_at: nil, created_at: nil, > updated_at: nil> > > > >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
Commander Johnson
2010-Sep-19 09:25 UTC
Re: Re: undefined method `to_sym'' for nil:NilClass
I was using the to-csv and fastercsv gem. When I commented them out of my environment.rb, the error disappeared. I don''t know which gem was causing it, but not using either of them has fixed it for now. I will still need CSV export functionality, but now I can at least test if it doesn''t break nested forms .. :) Thanks Simon! On Wed, Sep 15, 2010 at 9:02 AM, Simon <baumgartn3r-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:> I can''t really test this right now but here''s a thought: > > - If you create a new ReferralProgram with new Pages there shouldn''t > be a Page ID in the params because these Pages don''t exist yet (If you > assign existing pages double check if a Page with that ID exists). > - If I remember this correctly multiple nested objects have to be in > an array in the params like: > > "pages_attributes" => [ {"body"=>"blabla", "subject"=>"blabla"}, > {"body" => "blublu", "subject"=>"blublu"} ] > > Hope this helps a little! > Simon > > On Sep 14, 5:08 pm, Commander Johnson <commanderjohn...-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > wrote: >> Hi, >> >> When updating a ReferralProgram object that has nested Pages in it I >> get the error in the subject line. >> >> Rails generates parameters that look like this: >> >> {"pages_attributes"=>{"0"=>{"body"=>"blabla", >> "subject"=>"blabla", >> "id"=>"1"}}} >> >> When the id parameter is removed like this: >> >> {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} >> >> The exception is not raised. Any ideas on this? >> >> The relevant part that ''crashes'' the form: >> >> form.html.haml >> --- >> - form.inputs :name => I18n.translate("strings.pages") do >> - form.semantic_fields_for :pages do |pages| >> %h3= pages.object.title >> %div.page_description= pages.label :description, pages.object.description >> = pages.input :subject unless pages.object.name.eql?("thankyou_page") >> = pages.input :body >> >> Example console session: >> >> ruser@user-laptop:~/rails/1referralprogram$ script/console >> Loading development environment (Rails 2.3.8) >> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", >> "subject"=>"blabla", >> "id"=>"1"}}}>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla", >> ?> "subject"=>"blabla", >> ?> "id"=>"1"}}} >> => {"pages_attributes"=>{"0"=>{"body"=>"blabla", "id"=>"1", >> "subject"=>"blabla"}}}>> r = ReferralProgram.new(h) >> >> NoMethodError: undefined method `to_sym'' for nil:NilClass >> from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/whiny_ni l.rb:52:in >> `method_missing'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 02:in >> `expand_hash_conditions_for_aggregates'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 01:in >> `each'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 01:in >> `expand_hash_conditions_for_aggregates'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:23 33:in >> `sanitize_sql_hash_for_conditions'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:22 66:in >> `sanitize_sql'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 24:in >> `merge_conditions'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 22:in >> `each'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 22:in >> `merge_conditions'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:18 34:in >> `add_conditions!'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:17 17:in >> `construct_finder_sql'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:15 78:in >> `find_every'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:61 8:in >> `find'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:63 8:in >> `all'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:380:in >> `send'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:380:in >> `method_missing_without_paginate'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:21 78:in >> `with_scope'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_proxy.rb:207:in >> `send'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_proxy.rb:207:in >> `with_scope'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/associatio ns/association_collection.rb:376:in >> `method_missing_without_paginate'' >> from /usr/lib/ruby/gems/1.8/gems/will_paginate-2.3.14/lib/will_paginate/finder.r b:170:in >> `method_missing'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_att ributes.rb:349:in >> `assign_nested_attributes_for_collection_association'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/nested_att ributes.rb:244:in >> `pages_attributes='' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 06:in >> `send'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 06:in >> `assign_attributes'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 02:in >> `each'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:29 02:in >> `assign_attributes'' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:27 75:in >> `attributes='' >> from /usr/lib/ruby/gems/1.8/gems/activerecord-2.3.8/lib/active_record/base.rb:24 73:in >> `initialize'' >> from /home/user/rails/1referralprogram/app/models/referral_program.rb:34:in >> `initialize'' >> from (irb):4:in `new'' >> from (irb):4>> h = {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}} >> => {"pages_attributes"=>{"0"=>{"body"=>"blabla"}}}>> r = ReferralProgram.new(h) >> >> => #<ReferralProgram id: nil, name: nil, title: nil, description: nil, >> display_url: nil, destination_url: nil, image_file_name: nil, >> image_content_type: nil, image_file_size: nil, image_updated_at: nil, >> bonus_file_name: nil, bonus_content_type: nil, bonus_file_size: nil, >> bonus_updated_at: nil, support_contact_name: nil, >> support_email_address: nil, minimum_contacts_per_referral: 1, >> minimum_clicks_per_referral: 0, deleted_at: nil, created_at: nil, >> updated_at: nil> >> >> >> >> > > -- > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. > To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en. > >-- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.
thomas.mueller-t/Ii39gA4TY@public.gmane.org
2011-Jan-27 11:53 UTC
Re: Re: undefined method `to_sym'' for nil:NilClass
Hi, I''m facing the exact same error right now. Is there a solution to this issue? I''d really like to use to-csv+fastercsv. Let me know. THX alot, Thomas Commander Johnson wrote:> > I was using the to-csv and fastercsv gem. When I commented them out of > my environment.rb, the error disappeared. I don''t know which gem was > causing it, but not using either of them has fixed it for now. I will > still need CSV export functionality, but now I can at least test if it > doesn''t break nested forms .. :) > > Thanks Simon! > > .... > >-- View this message in context: http://old.nabble.com/undefined-method-%60to_sym%27-for-nil%3ANilClass-tp29709580p30776583.html Sent from the RubyOnRails Users mailing list archive at Nabble.com. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.