Ruby on Rails Wednesday, February 27, 2013

On 27 February 2013 19:56, Colton Pl <lists@ruby-forum.com> wrote:
> TicketType(#70316537311800) expected, got String(#10085740)
>
> app/controllers/reasons_controller.rb:44:in `new'
> app/controllers/reasons_controller.rb:44:in `create'
>
> View:
>
> <%= f.label :ticket_type %><br />
> <%= f.select :ticket_type, TicketType.all.collect {|t| [ t.description,
> t.description]}, {:include_blank => "Please select one"}, :method =>
> 'get'%>
>
> Controller:
>
> @reason = Reason.new(params[:reason])
>
> respond_to do |format|
> if @reason.save
> format.html { redirect_to manage_tickets_path, notice: 'Reason
> was successfully created.' }
> etc
>
> Model:
>
> class Reason < ActiveRecord::Base
> validates :description, :ticket_type, :presence => true
> attr_accessible :description, :ticket_type
>
> belongs_to :ticket_type, :foreign_key => :ticket_type

If you have the foreign key column called ticket_type and also
belongs_to ticket_type, then when you do @reason.ticket_type how is
rails going to know whether you want the value of the column or the
associated object? Best to stick to the conventions and call the
column ticket_type_id.

By the way, when posting an error it is a good idea to tell us which
line is the line the error refers to (ie which is line 44 in this
case) in order to save us having to work it out ourselves.

Colin

> end
>
> class TicketType < ActiveRecord::Base
> attr_accessible :description
>
> has_many :reasons, :foreign_key => :ticket_type
> end
>

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

No comments:

Post a Comment