I think a piece of code will explain better what I want to do:

Here is my solr_tags.rb:

module SolrTags
    include Radiant::Taggable
    include Flare::ActionControllerExtensions::InstanceMethods
    include ActionController::SessionManagement::ClassMethods

    ...

    tag 'solr:facet_list' do |tag|
        @flare = flare_before
        @flare.facet_fields.each do |field|
            %{#{facet_label(field)}}
        end
    end

end

The flare_before function in lib/flare/controller_extensions.rb

def flare_before
          # TODO: allow source of context to be configurable.
          session[:flare_context] ||= Flare::Context.new(SOLR_CONFIG)

          @flare = session[:flare_context]

      return @flare
end

The method session is part of rails, I can call it thanks to include 
ActionController::SessionManagement::ClassMethods.

Now I have this error message:
undefined method `write_inheritable_array'

This method is called by the method session of rails.

What I want to do is that I don't have to add include 
ActionController::SessionManagement::ClassMethods and that when I use a 
rails method, this method knows about others rails method.

In short, I want to have access to every rails method.


Marc


Sean Cribbs wrote:
> Marc,
>
> By default, Radius tags are rendered within a Page that is called from 
> the SiteController, which has the session turned off.  You might be 
> better off using cookies, but you would only be able to read them unless 
> you can come up with some scheme that decides what cookies to send based 
> on the page.  Including that module doesn't accomplish what you want.  
> Could you give us a little more detail about what you want to do?
>
> Sean
>
> Marc des Garets wrote:
>   
>> Hi all,
>>
>> I'm pretty new in radiant and in ruby on rails but I'm making an 
>> extension for radiant and I have some questions I'm pretty sure you'll 
>> be able to answer:
>>
>> I'm creating my tags for my extension in app/models/solr_tags.rb
>>
>> I'm using the method session of the 
>> ActionController::SessionManagement::ClassMethods class of rails but to 
>> use this session method I had to add this in my solr_tags.rb file:
>>
>> include ActionController::SessionManagement::ClassMethods
>>
>> After that I can call the method session in my 
>> lib/flare/controller_extensions.rb that is in a function I'm calling 
>> from my solr_tags.rb file.
>>
>> But now, I have this error: undefined method `write_inheritable_array' 
>> that I could solve doing an other include of a rails class but I was 
>> wondering if there is an other way to get all these rails method without 
>> adding an include each time I need one rails method. Furthermore, it's 
>> the method session that is using write_inheritable_array so it should be 
>> fine. I think I have some misconfiguration somewhere. Can you help?
>>
>> Hope I was clear enough, tell me if not and thank you in advance for 
>> your help.
>>
>>
>> Marc
>>
>> _______________________________________________
>> Radiant mailing list
>> Post:   [email protected]
>> Search: http://radiantcms.org/mailing-list/search/
>> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>>
>>   
>>     
>
> _______________________________________________
> Radiant mailing list
> Post:   [email protected]
> Search: http://radiantcms.org/mailing-list/search/
> Site:   http://lists.radiantcms.org/mailman/listinfo/radiant
>   

_______________________________________________
Radiant mailing list
Post:   [email protected]
Search: http://radiantcms.org/mailing-list/search/
Site:   http://lists.radiantcms.org/mailman/listinfo/radiant

Reply via email to