Also, your use of erb and ActiveRecord implies a MVC structure. If this is
the case, you should be assigning instance variables in your controller and
not your view. You should not have find statements or assignments in your
view, it should only be for formatting output.
···
On Wed, Oct 14, 2009 at 9:47 AM, Manish Sharma <manish16s@gmail.com> wrote:
Leslie Viljoen wrote:
> On Wed, Oct 14, 2009 at 4:24 PM, Manish Sharma <manish16s@gmail.com> > > wrote:
>> Hi,
>>
>> Im using ActiveRecord to find something.
>>
>> <% @new = User.find_by_sql("SELECT * FROM users WHERE users.id NOT IN
>> (array)") %>
>>
>> Now, i can't seem to make it look through the array. I had a look for
>> this problem in other languages and in php its simply $array.
>
> Perhaps:
> "SELECT * FROM users WHERE users.id NOT IN (#{array.join(', ')})"
I think that when PHP converts $array to a string, it puts commas in
between each element, which is just lucky for the purposes of
producing a list that the SQL statement would like.
This is what happens when Ruby converts an array to a string:
irb(main):003:0> ['a', 'b', 'c'].to_s
=> "abc"
So to put in the commas like PHP does it (and SQL likes it), use join.