Ayuda!

Al relacionar la tabla usuario con la de intereses, me funciona
perfecto… pero cuando relaciono la tabla de permisos con la de
intereses… no me funciona ya que no se como hacer el controlador y la
vista y la ruta de los permisos.

Me explico:

Cuando estoy en la vista de intereses me funciona perfectamente como lo
puede ver en esta imagen llamada pantallazo.png

Pero cuando trato de asociar los permisos a estos intereses no puedo me
sale varios errores.

las tablas son las siguientes:

class CreateUsers < ActiveRecord::Migration
def self.up
create_table “users”, :force => true do |t|
t.string :login, :email, :remember_token
t.string :crypted_password, :limit => 40
t.string :password_reset_code, :limit => 40
t.string :lastnameuser, :nameuser
t.column :birthdateuser, :date
t.string :genderuser
t.string :salt, :limit => 40
t.string :activation_code, :limit => 40
t.datetime :remember_token_expires_at, :activated_at, :deleted_at
t.string :state, :null => :no, :default => ‘passive’
t.string :zip, :limit => 50,
:default => “”, :null => false
t.integer :picture_id
t.string :status, :limit => 50,
:default => “”, :null => false
t.datetime :last_active
t.boolean :admin, :default => false, :null => false

  t.timestamps
end
add_index "users", ["email"], :name => "email", :unique => true
add_index "users", ["crypted_password"], :name => "crypted_password"

end

def self.down
drop_table “users”
end
end

class CreateInterests < ActiveRecord::Migration
def self.up
create_table :interests do |t|
t.string :nameinterest
t.references :user
t.references :permission
end
end

def self.down
drop_table :interests
end
end

class CreatePermissions < ActiveRecord::Migration
def self.up
create_table :permissions do |t|
t.string :namepermission
end
end

def self.down
drop_table :permission
end
end

Gracias por su tiempo!!!

2009/6/10 Antonio O. [email protected]

Hola a todos!!, estoy con un problema el cual no lo he podido resolver,
el codigo es el siguiente:

  • Parece de sentido común que si tienes un problema, expliques en qué
    consiste.

  • Si tienes que pegar grandes trozos de código, usa uno o varios pasties
    (
    http://pastie.org/)

  • Por favor, no utilicéis temas como “Ayudaaa”, “Ayuda!!!” y similares,
    que, francamente, quedan bastante bobos y poco serios. Describid la
    temática
    del mensaje de forma concisa. Cuantas más aes o signos de exclamación
    tiene
    el mensaje, menos ganas de contestar provocan.

Hola a todos!!, estoy con un problema el cual no lo he podido resolver,
el codigo es el siguiente:

Vista de Inetereses

Intereses de <%= @user.nameuser %>

<% for interest in @interests %>

<% end-%>
Mis Intereses:
<%=h interest.nameinterest %> <%= select :permission_id,
                Interest::PERMISSION_TYPES,

               :prompt => "Selccione permiso", :with => 230 %><td>
<%= link_to 'Show', user_interest_path(@user, interest) %> <%= link_to 'Edit', edit_user_interest_path(@user, interest) %> <%= link_to 'Destroy', user_interest_path(@user, interest), :confirm => 'Esta Seguro?', :method => :delete %>

<%= link_to ‘New comment’, new_user_interest_path(@user) %>
<%= link_to ‘Back to Post’, @user %>

Controlador Intereses

class InterestsController < ApplicationController

def index
@user = User.find(params[:user_id])
@interests = @user.interests
end

def show
@user = User.find(params[:user_id])
@interest = @user.interests.find(params[:id])
end

def new
@user = User.find(params[:user_id])
@interest = @user.interests.build
end

def create
@user = User.find(params[:user_id])
@interest = @user.interests.build(params[:interest])
if @interest.save
redirect_to user_interest_url(@user, @interest)
else
render :action => “new”
end
end

def edit
@user = User.find(params[:user_id])
@interest = @user.interests.find(params[:id])
end

def update
@user = User.find(params[:user_id])
@interest = Interest.find(params[:id])
if @interest.update_attributes(params[:interest])
redirect_to user_interest_url(@user, @interest)
else
render :action => “edit”
end
end

def destroy
@user = User.find(params[:user_id])
@interest = Interest.find(params[:id])
@interest.destroy

respond_to do |format|
  format.html { redirect_to user_interests_path(@user) }
  format.xml { head :ok }
end

end

end

Modelo de usuario

has_many :interests
validates_presence_of :login, :email

validates_presence_of :password, :if => :password_required?

validates_presence_of :password_confirmation, :if =>
:password_required?

validates_length_of :password, :within => 4…20, :if =>
:password_required?

validates_confirmation_of :password, :if => :password_required?

validates_length_of :login, :within => 3…40

validates_length_of :email, :within => 3…100

validates_uniqueness_of :login, :email, :case_sensitive => false

validates_format_of :email,

:with => /^(([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,}))?$/

before_save :encrypt_password

Modelo de permisos

class Permission < ActiveRecord::Base
has_many :interests
end

Modelo de Intereses

class Interest < ActiveRecord::Base
belongs_to :user
belongs_to :permission

PERMISSION_TYPES = [

#  Displayed        stored in db

[ "Privado",          1 ],

[ "Publico",          2 ],
[ "Personal",         3 ]

]
end

Muchas gracias con lo que me puedan ayudar!!!

Manuel González Noriega wrote:

2009/6/10 Antonio O. [email protected]

Hola a todos!!, estoy con un problema el cual no lo he podido resolver,
el codigo es el siguiente:

  • Parece de sentido común que si tienes un problema, expliques en qué
    consiste.

  • Si tienes que pegar grandes trozos de código, usa uno o varios pasties
    (
    http://pastie.org/)

  • Por favor, no utilicéis temas como “Ayudaaa”, “Ayuda!!!” y similares,
    que, francamente, quedan bastante bobos y poco serios. Describid la
    temática
    del mensaje de forma concisa. Cuantas más aes o signos de exclamación
    tiene
    el mensaje, menos ganas de contestar provocan.

Ok, gracias por el consejo la verdad no pense que eso era malo. de todas
formas gracias por el consejo,ahhh y ya pude solucionar el problema que
tenia gracias.

Y respecto al problema yo lo explique, es obvio que si quiero que me
ayuden, necesariamente tengo que enviar la descripcion de mi problema.

¿Y cómo lo arreglaste?
Igual me lo he perdido, pero no lo has explicado ¿no?

Si no lo has explicado. Date cuenta d una cosa. Vienes a la lista a por
la
lista y te vas sin aportar nada. Si ya lo has explicado, no he dicho
nada

El 10 de junio de 2009 19:19, Antonio O. <
[email protected]> escribió:


“Cuantas menos cosas a pelo hagas en la vida, más cosas harás. En todos
los
sentidos”

Yo mismo