[ruby-it] Chiamare Java con JRuby

Cecchin Daniel grafica.cecchin a virgilio.it
Sab 2 Maggio 2009 14:50:53 CEST


Buon giorno,
in questi mesi sono impegnato nella gestione di un progetto
universitario per la Creazione di un sito di gestione annunci....

Ho qualche problema nel comprendere se la mia impostazione è corretta
per l'esecuzione delle varie operazioni.

Dopo aver scritto il codice Java, ed esportando il codice Jar creo il
mio progetto JRuby.

Utilizzo la versione agg. Jruby --version 1.8.6
Rails -- version 2.3.2
mongrel Versions: 1.1.5
jdbc-mysql Version: 5.0.4

La mia idea è quella di utilizzare la parte java per realizzare ogni
operazione con JRuby.

Il progetto in Java è stato realizzato con la libreria
Driver JDBC Mysql -mysql- connector-java-5.1.6-bin.jar
E quì sorgono i dubbi... le due versioni devono esser uguali ???
la mia risposta: che per me non serve quell'impostazione visto che
utilizzo le varie classi che funzionano in Java.

Realizzato un PostManagement dove al suo interno ha il metodo addPost()
Questo metodo richiede un'instanza di PostInformation che è un'altra
classe con tutta la sfilza di set per il Post, si connette ed aggiunge a
Db_mysql


Ho settato il file enviroment.rb del contenuto della folder Controller
require 'rubygems'
  gem 'activerecord-jdbc-adapter'
  # require 'jdbc_adapter', perchè lo esegue il Java
  include Java

  config.frameworks -= [ :active_record ]

   Dir["#{RAILS_ROOT}/lib/**/*.jar"].each do |jarfile|
       require jarfile
   end

Poi ho creato il controller***************************************

def PostController < ApplicationController

def create
    @post_info = PostInformation.new

 # inserimento dati manualmente
    post_info.setTitle(params[:title])
    post_info.setDescription(params[:description])

   @post_mgm = PostManagement.new
    post_mgm.addPost(post_info)

    respond_to do |format|

      if post_mgm.addPost(post_info)
        flash[:notice] = 'Post creato con successo.'
        format.html { redirect_to(@post) }
        format.xml  { render :xml => @post, :status => :created,
:location => @post }
      else
        format.html { render :action => "new" }
        format.xml  { render :xml => @post.errors, :status =>
:unprocessable_entity }
      end
    end
  end

 def new
    @post = post_mgm.addPost(post_info)
    respond_to do |format|
      format.html # new.html.erb
      format.xml  { render :xml => @post }
    end
  end

****************************
Model

class Post

# questo serve o è giusto per comunicare con la view
   def title
        @post_info = PostInformation.new
        @title = post_info.setTitle(" ")
   end

end

*****************************
view

<h1>New post</h1>

<% form_tag :controller => 'posts', :active => 'create' do %>

  <p>
    <%= label_tag :title %><br />
    <%= text_field_tag :title   %>
  </p>

  <p>
    <%= label_tag :description %><br />
    <%= text_area_tag :description  %>
  </p>


  <p>
   <%= submit_tag 'Create' %>
  </p>
<% end %>

<%= link_to 'Back', posts_path %>


Grazie Mille, è corretto questo inserimento
Daniel
-- 
Posted via http://www.ruby-forum.com/.


More information about the Ml mailing list