Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
509 views
in Technique[技术] by (71.8m points)

ruby on rails - Why can't show restaurant list?

I'm trying to make some restaurant list. I associated two tables, and then write this code.

class Restaurant < ActiveRecord::Base
        has_many :restaurant_translations
end

class RestaurantTranslation < ActiveRecord::Base
        self.table_name = 'restaurant_translations'
end

restaurant_controller.rb

class RestaurantController < ApplicationController
        def list
                @restaurants = Restaurant.all
logger.debug @restaurants
        end
end

list.html.slim table thead tr th Type th Name th Url th Genre th Addr

  tbody
    - @restaurants.each do |restaurant|
      tr
        td = restaurant.restaurant_type
        td = restaurant.restaurant_translations.restaurantname
        td = link_to 'here', restaurant.url
        td = restaurant.genre
        td = restaurant.restaurant_translations.address

But results are belows. "undefined method `restaurantname' for #"

enter image description here

How can I do this problem? Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Your restauration have multiple 'restaurant_translations'.

Example, for first you can write td = restaurant.restaurant_translations.first.try(:restaurantname)


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...