X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=app%2Fassets%2Fjavascripts%2Fmanifest%2Fcontroller%2Faction%2Fbase.js.coffee;h=f5d74b7de3b6e66ca8937141ed877a7fd83b6daa;hb=5e2817fe00fdbc16c4cd9e25dae4b7c93c7c4008;hp=a2dfa151a0b109a25ae530ee74fe0b85a8c24f2a;hpb=9529441f04dd2c502077a051b866eac838e5849e;p=pettanr%2Fpettanr.git diff --git a/app/assets/javascripts/manifest/controller/action/base.js.coffee b/app/assets/javascripts/manifest/controller/action/base.js.coffee index a2dfa151..f5d74b7d 100644 --- a/app/assets/javascripts/manifest/controller/action/base.js.coffee +++ b/app/assets/javascripts/manifest/controller/action/base.js.coffee @@ -2,13 +2,35 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA set_default: () -> super() - @args.item_name ||= @parent.item_name # not parent.name. follow singularized name + @args.item_name ||= Manifest.manifest().singularize(@parent.name) @args.param_id ||= 'prefix' init: () -> super() + @action_name = @name + @alias = @args.alias @item_name = @args.item_name @param_id = @args.param_id + # source manifest of alias manifest + @original = @args.original + + a_arg_names: () -> + [] + + b_arg_names: () -> + ['item_name', 'param_id'] + + controller: () -> + @parent + + alias_action: () -> + s = @alias.split('.') + c = Manifest.manifest().controllers[s[0]] + c.actions[s[1]] + + path_name: () -> + @parent.name + #Manifest.manifest().pluralize(@item_name) encode_query: (params) -> q = [] @@ -20,9 +42,15 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA '' encode_url: (action_name, params) -> - c = @parent.name - a = if action_name != 'index' + controller_name = @path_name() + c = controller_name + a = if action_name == 'index' or action_name == 'show' or action_name == 'destroy' + '' + else '/' + action_name + # f = if params['format'] # json request? so bad. html request as get rest api + f = if params['format'] == 'prof' + '.' + params['format'] else '' i = if params['id'] @@ -32,11 +60,11 @@ class Manifest.ControllerModule.ActionModule.Base extends ManifestBase.TypeNameA q = @encode_query(params) switch @param_id when 'prefix' - c + i + a + q + c + i + a + f + q when 'suffix' - c + a + i + q + c + a + i + f + q else - c + a + q + c + a + f + q url: (params) -> @encode_url(@name, params)