Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 354935
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 12, 20262026-05-12T11:58:15+00:00 2026-05-12T11:58:15+00:00

I’m working through Agile Web Development with Rails and having a problem with Task

  • 0

I’m working through Agile Web Development with Rails and having a problem with Task E and adding the payment types to a database. Within the orders table, there is a foreign key relating the column payment_type_id to the payment_types database (which holds columns id, label and value)

So, an order has a payment_type_id of 1, which corresponds to the entry in payment_types of “Credit Card”, “cc”

class Order < ActiveRecord::Base
has_many :line_items
belongs_to :payment_types


class PaymentType < ActiveRecord::Base
has_one :order

Then within the Order controller

class OrdersController < ApplicationController
  # GET /orders
  # GET /orders.xml
  def index
    @orders = Order.all

And then in the index.html.erb view:

<% @orders.each do |order| %>
  <tr>
    <td><%=h order.name %></td>
    <td><%=h order.payment_types.label %></td>

This gives the following error:

“You have a nil object when you didn’t expect it!
The error occurred while evaluating nil.label”

for the line order.payment_types.label

Do I have the relationships correct? The foreign key works elsewhere, when creating orders and everything. It’s just in this view. Thanks so much for any help.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-12T11:58:15+00:00Added an answer on May 12, 2026 at 11:58 am

    Side note: Your belongs_to :payment_types should be belongs_to :payment_type. You only have one payment type for any given order.

    This will be because this specific order has no payment type (order.payment_types is nil).

    To fix this, you can do:

    <td><%=h order.payment_type.label if order.payment_type %></td>
    

    or even

    <td><%=h order.payment_type.try(:label) %></td>
    

    which does much the same thing, but uses some rails kung-fu (some purists will whine about this as a code smell, but they can all stop whining and do something useful, like building a shed).

    or you can set the payment type some how (possibly involving a more complex controller, and maybe a validates_presence_of :payment_type in your Order model.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 187k
  • Answers 187k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer As other's pointed out: no. You can access objects of… May 12, 2026 at 5:23 pm
  • Editorial Team
    Editorial Team added an answer You want to do an FQL query like this: SELECT… May 12, 2026 at 5:23 pm
  • Editorial Team
    Editorial Team added an answer instead of: echo "Data has been submitted to $to!"; just… May 12, 2026 at 5:23 pm

Related Questions

I'm trying to decode HTML entries from here NYTimes.com and I cannot figure out
I ran into a problem. Wrote the following code snippet: teksti = teksti.Trim() teksti
In order to apply a triggered animation to all ToolTip s in my app,
I have a French site that I want to parse, but am running into
I have text I am displaying in SIlverlight that is coming from a CMS

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.