Jak dodawac zmienne do modulu w pluginsie?

Witam

Plugin (vendor/plugins/tinymce_fm) laduje do controllera (app/controllers/user/blogs_controller.rb) przez:

class User::BlogsController < ApplicationController include TinymceFm::Filemanager def index # z tego miejsca chce by byly generowane zmienna dla pluginsa
W jaki sposob dodawac zmienne do TinymceFm::Filemanager (vendor/plugins/tinymce_fm/lib/tinymce_fm/filemanager.rb) z controllera/metody gdzie jest ladowany?

module TinymceFm class FilemanagerController < ApplicationController def tinymce_managed_js # w tym miejscu sa mi potrzebne zmienne dodawane z controllera/metody w ktorym jest ladowany
Aha, zapomialem - Rails 3.1.1

Chyba chcesz ustawić zmienne instancji w kontrolerze? @zmienna = ‘foo’ itd.

To juz na “dzien dobry” probowalem i nie chodzi :frowning:

class User::BlogsController < ApplicationController include TinymceFm::Filemanager def index @plugins = "..."

module TinymceFm class FilemanagerController < ApplicationController def tinymce_managed_js #TinymceFm pokazuje jakby nie bylo w ogole tej zmiennej (tak musi sie nazywam)
Opisze to troche lepiej o co chodzi:
Chce miec, w zaleznosci od rodzaju uzytkownika (User::BlogsController), jakie pluginsy maja byc do TinymceFm::Filemanager (czyli wszystkie zmienne z controllera) np: pelne

@plugins = "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template,inlinepopups,autosave"

lub nie pelne

@plugins = "iespell,insertdatetime,preview,media,searchreplace,print,contextmenu"

Tak samo jak przyciski itd.

A, przeprasza, oczywiście że nie zadziała bo tam jest oddzielny kontroler w tym module. Pomiędzy żądaniami (HTTP), czyli również pomiędzy akcjami kontrolerów, nie możesz tak współdzielić danych – zostają Ci parametry zakodowane w URLu albo sesje.

Rada / pomoc jest pomogla, ale nie wszedzie.
Do sciezki do zapisu upload w tiny_mce chce dodac id uzytkownika i sa problemy :frowning:

Tak jest (bez dodawania id w sciezce) i bez problemu chodzi:

[code]class User::BlogsController < ApplicationController
include TinymceFm::Filemanager

image_save_into_public_subdir ‘images_blog_tiny’

…[/code]

Tak bym chcial, ale jest zle:

[code]class User::BlogsController < ApplicationController
include TinymceFm::Filemanager

blad: undefined local variable or method `session’ for User::BlogsController:Class

image_save_into_public_subdir ‘images_blog_tiny/’ + session[:user].id

…[/code]

To moze inaczej, ale tez jest zle:

[code]class User::BlogsController < ApplicationController
include TinymceFm::Filemanager

undefined local variable or method `session’ for User::BlogsController:Class

image_save_into_public_subdir ‘images_blog_tiny/’ + session[:user].id

def index
#
# blad: undefined method `image_save_into_public_subdir’ for TinymceFm::Filemanager:Module
#
TinymceFm::Filemanager.image_save_into_public_subdir ‘images_blog_tiny/’ + session[:user].id.to_s[/code]
To moze inaczej, ale tez jest zle (vendor/plugins/tinymce_fm/lib/tinymce_fm/filemanager.rb):

module TinymceFm module Filemanager def self.included(base) base.extend ClassMethods end module ClassMethods # ... protected # ... def image_save_into_public_subdir(*params) # # blad: undefined local variable or method `session' # write_inheritable_array(:image_save_into_public_subdir, params + [session[:user].id]) end
Jakies propozycje jak to rozwiazac?