view · edit · sidebar · attach · print · history

20160815-migrate-davaz-com

<< 20160816-migrate-davaz-com | Index | 20160810-migrate-davaz-com-remove-warnings-htmlgrid >>


Summary

  • Migrating davaz.com ruby 1.8.6 to 2.3.1
  • Fix issues on ruby process
  • Fix session assignment issue on htmlgrid

Commits / Patches / Pull Requests, Scripts

Index


Fix more link on Movies

"more" expand link at /en/works/movies/ does not work.
I will fix this issue on davaz.js. (showMovieGalleryFunction).
This function needs migration of dojo.

Commits:

Fix movie detail view

At movie detail view, movie thumbnail is missing.
It seems that find method with == needs still updates.

Commits:

Fix missing session argment issue

htmlgrid component method has mostly 2 argments. like this:

COMPONENTS = {
  [0, 0] => :foo,
  [0, 1] => component(ModelOrOtherComposite, :bar) #=> this is problem
}

# this is normal method
def foo(model=nil, session=nil)
  # create View
end

This bar is automatically and dynamically defiend in Composite.
In this case, some times nil is given as session argument of bar method.

[1] 2.3.1-p112(#<HtmlGrid::Input>)>
error in SBSM::Session#to_html: /en/personal/home
NoMethodError
undefined method `event_url' for nil:NilClass
/path/to/davaz.com/src/view/_partial/ticker.rb:38:in `block in to_html'
/path/to/davaz.com/src/view/_partial/ticker.rb:26:in `each'
/path/to/davaz.com/src/view/_partial/ticker.rb:26:in `to_html'
/path/to/davaz.com/.bundle/gems/ruby/2.3.0/gems/htmlgrid-1.1.2/lib/htmlgrid/divcomposite.rb:42:in `block (3 levels) in to_html'

Therefore it must be supported in htmlgrid using @session (instance variable).

I've at last week once fixed a warning (unused variable session).
This fix also resolve argument violation issue (session via argument was not assigned to @session).

But this change will produce this issue. then I've change like this:

# before (local variable `session` was discarded)
args = [model.send(key), @session, self]

# now (if nill as session is given, it produce this issue, and nil is givent at some places)
args = [model.send(key), session, self]

# new (add fallback to instance variable)
args = [model.send(key), session || @session, self]

Commits:

view · edit · sidebar · attach · print · history
Page last modified on August 15, 2016, at 04:34 PM