Find All records with associated records

Hi,

Using rails 4, I have two models Supplier and Category

Category belongs_to Supplier

and Supplier has_many categories

now the suppliers table has fields, company_name, address, phone etc.
and id

and the categories has cat_name and supplier_id

in the categories index view I want to display all categories names
along with associated company_names.

in the categories_controller my index method is below.

def index
@categories = Category.all
#??? what to do to find company_name
end

and my index.html.erb view is

<% @categories.each do |category| %>


<%= category.cat_name %>
<%= category.cat_sub_name %>
<%= category.supplier %>
<%= link_to ‘Show’, category %>
<%= link_to ‘Edit’, edit_category_path(category) %>
<%= link_to ‘Destroy’, category, method: :delete, data: {
confirm: ‘Are you sure?’ } %>

<% end %>

I have no idea how to this. pls help.

On 12 April 2016 at 08:17, Naveed A. [email protected] wrote:

and id
#??? what to do to find company_name
See below

end

and my index.html.erb view is

<% @categories.each do |category| %>


<%= category.cat_name %>
<%= category.cat_sub_name %>
<%= category.supplier %>

category.supplier is the whole supplier record, so if you want the
name it is just
category.supplier.company_name

Such is the magic of Rails.

As a beginner I suggest you work right through a good tutorial in
order to get the basics or Rails. The one I suggest is
railstutorial.org (which is free to use online).

Colin

As a beginner I suggest you work right through a good tutorial in
order to get the basics or Rails. The one I suggest is
railstutorial.org (which is free to use online).

Colin

Thanks colin I already tried this but it give me the error:

undefined method `company_name’ for nil:NilClass

Colin L. wrote in post #1182787:

On 12 April 2016 at 08:52, Naveed A. [email protected] wrote:

As a beginner I suggest you work right through a good tutorial in
order to get the basics or Rails. The one I suggest is
railstutorial.org (which is free to use online).

Colin

Thanks colin I already tried this but it give me the error:

undefined method `company_name’ for nil:NilClass

Please quote the previous message when posting, this is a mailing list
not a forum (though you may be accessing it via a forum like
interface).

If the statement
category.supplier.company_name
gives the error undefined method `company_name’ for nil:NilClass then
that means that category.supplier is nil, or to put it another way, it
means that category does not have an associated supplier. You
probably need something like

<%= category.supplier.company_name if category.supplier %> which will only attempt to determine the name if category.supplier is not nil

Colin

Sory none of them worked, pls chk my app,
https://www.dropbox.com/s/siioqa8q8xkdf46/tPOS.zip?dl=0

thanks.

On 12 April 2016 at 14:43, Naveed A. [email protected] wrote:

undefined method `company_name’ for nil:NilClass
probably need something like

<%= category.supplier.company_name if category.supplier %> which will only attempt to determine the name if category.supplier is not nil

Colin

Sory none of them worked, pls chk my app,

Just copy/paste the error here and the few lines of code around the
failure.

Colin

On 12 April 2016 at 08:52, Naveed A. [email protected] wrote:

As a beginner I suggest you work right through a good tutorial in
order to get the basics or Rails. The one I suggest is
railstutorial.org (which is free to use online).

Colin

Thanks colin I already tried this but it give me the error:

undefined method `company_name’ for nil:NilClass

Please quote the previous message when posting, this is a mailing list
not a forum (though you may be accessing it via a forum like
interface).

If the statement
category.supplier.company_name
gives the error undefined method `company_name’ for nil:NilClass then
that means that category.supplier is nil, or to put it another way, it
means that category does not have an associated supplier. You
probably need something like

<%= category.supplier.company_name if category.supplier %> which will only attempt to determine the name if category.supplier is not nil

Colin

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs