From: "Kai König" Date: 2009-07-12T19:57:36+09:00 Subject: Re: NewbieHelp For AR movie.genre is an object of type Genre. Also on creation it expects move.genre to be an Object of the type Genre e.g. your Model. so the make this work quickly: @movie = Movie.new(params[:movie]) @movie.genre = Genre.find :condition => { :id => params[:genre_id] }, :limit => 1 or You could take a look at nested forms http://ryandaigle.com/articles/2008/7/19/what-s-new-in-edge-rails-nested-models On 12.07.2009, at 11:15, Luis Teko wrote: > Im having n error message > > ActiveRecord::AssociationTypeMismatch in MovieController#create > > Genre expected, got String > > Parameters: > > {"commit"=>"Create", > "authenticity_token"=>"b2aa33146f0a40aa59d887b8e19d0635cbdc2612", > "movie"=>{"title"=>"Matrix", > "price"=>"15", > "description"=>"sldljsvnsdvdv", > "genre"=>"1"}} > >>> view code for movies > >

Add new movie

> <%= form_tag :action => 'create' %> >

: > <%= text_field 'movie', 'title' %>

>

: > <%= text_field 'movie', 'price' %>

>

: > <%= collection_select(:movie,:genre,@genres,:id,:name) %>

>


> <%= text_area 'movie', 'description' %>

> <%= submit_tag "Create" %> > <%= link_to 'Back', {:action => 'list'} %> > >>> movie controller > > class MovieController < ApplicationController > def list > @movies = Movie.find(:all) > end > > def show > @movie = Movie.find(params[:id]) > end > > def new > @movie = Movie.new > @genres = Genre.find(:all) > end > > def create > @movie = Movie.new(params[:movie]) > if @movie.save > redirect_to :action => 'list' > else > @genres = Genre.find(:all) > render :action => 'new' > end > end > > def edit > @movie = Movie.find(params[:id]) > @genres = Genre.find(:all) > end > > def update > @movie = Movie.find(params[:id]) > if @movie.update_attributes(params[:movie]) > redirect_to :action => 'show', :id => @movie > else > @genres = Genre.find(:all) > render :action => 'edit' > end > end > > def delete > Movie.find(params[:id]).destroy > redirect_to :action => 'list' > end > > > end > >> model for movie > > class Movie < ActiveRecord::Base > belongs_to :genre > > end > >> model for genre > > class Genre < ActiveRecord::Base > has_many :movies > end > > > >>> I'm kind of lost right now. A little help will b highly apprecieated >>> thanks > -- > Posted via http://www.ruby-forum.com/. >