Showing similar values in a table

Discussion in 'Ruby' started by raffir, Jul 23, 2006.

  1. raffir

    raffir Guest

    I'm working on a project in which Accounts belong to a User.

    I'd like the User's Welcome page to show who else has the same Accounts
    (based on account name) as that user.

    What I tried to do was place a SQL query inside a for loop, such that
    the loop would go through the session User's accounts and check, in
    turn, for all similarly named accounts in the Accounts table.

    I think that there must be something wrong with my code; right now,
    it's as follows:

    <table>
    <%@session['user'].accounts.each do |i| %>
    <%Accounts.find:)all, conditions = ["coursename LIKE ?",
    "%#{i.coursename}%"])%>
    <tr>
    <td><%= account.name %></td>
    <td><%= account.number %></td>
    <td><%= account.user_id%></td>
    </tr>
    </table>
    <%end%>

    <% end %>


    I'm new to Ruby, so I think syntax is the most likely culprit here.

    Thoughts?


    Thanks a lot,

    - Raffi.
     
    raffir, Jul 23, 2006
    #1
    1. Advertisements

  2. raffir

    Jan Svitok Guest

    Hi,

    You're missing second 'each' here
    <%Accounts.find:)all, conditions = ["coursename LIKE ?",
    "%#{i.coursename}%"]).each do |account| %>
     
    Jan Svitok, Jul 23, 2006
    #2
    1. Advertisements

  3. raffir

    raffir Guest

    Unfortunately, while it's now showing accounts, it's now showing every
    single account. I'd just like it to show accounts with the same name as
    the session user's.

    Thanks,

    - Raffi.


     
    raffir, Jul 23, 2006
    #3
  4. raffir

    raffir Guest

    Fixed it!

    The line was missing a colon. I changed it to:

    <%Accounts.find:)all, :conditions => ["coursename LIKE ?",
    "%#{i.coursename}%"]).each do |account| %>


    A question about the SQL query: how do I add another clause? For
    example, what if I'd like to search by coursename (as above) and
    coursenumber?

    Thanks,

    - Raffi.
     
    raffir, Jul 23, 2006
    #4
  5. raffir

    raffir Guest

    Mysteriously stopped working again.

    Code is as follows:

    <h3><u>Who's in my courses?</u></h3>
    <table>
    <%@session['user'].accounts.each do |i| %>
    <%Accounts.find:)all, :conditions => ["coursename LIKE ?",
    "%#{i.coursename}%"]).each do |account| %>

    <tr>
    <td><%= account.coursename %></td>
    <td><%= account.coursenumber %></td>
    <td><%= account.first_name%> <%= account.last_name%></td>
    <td><%= link_to 'Show', :controller=>'user', :action=>'userdetails',
    :id=> account.user_id %></td>
    </tr>

    <%end%>
    <% end %>
    </table>
     
    raffir, Jul 23, 2006
    #5
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.