🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.ruby
3 messages
3 total messages Started by edek Sat, 05 Apr 2008 15:10
[RoR 2.0.2] Plugin - rozszerzanie modelu
#1031
Author: edek
Date: Sat, 05 Apr 2008 15:10
36 lines
1797 bytes
Witam, mam model DatabaseItem < (dziedziczy standardowo po 
ActiveRecord::Base). Stworzyłem sobie plugin. W init.rb daję require 
"costam". W lib/costam.rb daję require "mojplugin/database_item". W 
lib/mojplugin/database_item.rb mam kod mniej więcej tej postaci

module Mojmodul
   module InstanceMethods
     def funkcja
       ":)"
     end
   end
end

DatabaseItem.send(:include, MojModul::InstanceMethods)

I teraz w konsoli MOGĘ odwołać się np. do DatabaseItem.find(:first).funkcja

W kontrolerze piszę sobie (gdzie "item" to jakiś obiekt tej klasy)

item.send("funkcja")

i mi wywala, że takowej nie ma. Korzystam z send, bo w prawdziwym 
przypadku nazwa funkcji jest generowana. Zauważyłem, że pomaga dopisanie 
w kontrolerze

DatabaseItem.send(:include, MojModul::InstanceMethods)

wtedy widzi ją OK.

O co chodzi? Czemu dopisanie tego w skrypcie inicjalizowanym przy 
starcie aplikacji działa w konsoli a w kontrolerze nie?

Liczę na Waszą pomoc, bo trochę głupieję, nie mogę się doszukać, gdzie 
jest problem.

m.
Re: Plugin - rozszerzanie modelu
#1032
Author: piotr.solnica
Date: Sun, 06 Apr 2008 17:28
17 lines
1876 bytes
On Apr 5, 5:10 pm, edek <e...@zkrainykredek.pl> wrote:
> Witam, mam model DatabaseItem < (dziedziczy standardowo po
> ActiveRecord::Base). Stworzyłem sobie plugin. W init.rb daję require
> "costam". W lib/costam.rb daję require "mojplugin/database_item". W
> lib/mojplugin/database_item.rb mam kod mniej więcej tej postaci
>
> [ciach]

A sprobuj umiescic ten modul w pliku o innej nazwie, niz
database_item.rb (innymi slowy nazywajacym sie tak, zeby nie
odpowiadal nazwie Twojego modelu AR) i sprawdz czy zadziala. Smieszne,
ale moze pomoc :)

> O co chodzi? Czemu dopisanie tego w skrypcie inicjalizowanym przy
> starcie aplikacji działa w konsoli a w kontrolerze nie?

Czary-mary RoR? Trudno powiedziec, trzeba by to zdebugowac.
Re: Plugin - rozszerzanie modelu
#1033
Author: edek
Date: Sun, 06 Apr 2008 22:29
4 lines
989 bytes
Odpowiedź jest tutaj
http://www.rubyonrails.pl/forum/viewtopic.php?pid=4871#p4871

m.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads