On 14 May 2012 14:11, Tuckie <witu...@gmail.com> wrote:

> I'm working on creating a model that allows redirect to another
> instance of the same type (Page).  For obvious reasons, I don't want
> it to be able to redirect to itself. How can I get the model to
> properly filter this relationship? I'm currently getting the error:
>
> Mysql2::Error: You have an error in your SQL syntax; check the manual
> that corresponds to your MySQL server version for the right syntax to
> use near '' at line 1: SELECT `pages`.* FROM `pages`  WHERE (id !=
> #{self.id})
>
> From what I've read, it should be replacing #{self.id} with the
> current instance.
>
> class Page < ActiveRecord::Base
>  has_ancestry
>  belongs_to :footer,
>    :foreign_key => 'footer_id',
>    :class_name => 'ReusableText'
>  belongs_to :redirect_to_page,
>    :foreign_key => 'redirect_to_page_id',
>    :class_name => 'Page',
>    :conditions => 'id != #{self.id}'
>


Use double quotes, not single quotes around "id != #{self.id}"

You might be better doing the following instead to avoid SQL injection:
:conditions => ['id != ?', self.id]

Jeremy Walker


> ...
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to