我想尝试做一些餐馆名单。 我关联了两个表,然后编写这段代码。
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 表 THEAD TR 类型 名字 网址 th类型 加地址
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
但结果低于。 &#34;未定义的方法`restaurantname&#39;对于#&#34;
我该怎么办?提前谢谢。
答案 0 :(得分:2)
您的日常工作有多个'restaurant_translations'。
示例,首先您可以编写td = restaurant.restaurant_translations.first.try(:restaurantname)
答案 1 :(得分:1)
替换
td = restaurant.restaurant_translations.restaurantname
与
td = restaurant.restaurant_translations.first.restaurantname
这会对你有所帮助
答案 2 :(得分:-1)
因为Restaurent has_many:restaurant_translations 所以你需要循环
restaurant.restaurant_translations.each do|res_trans|
your code here
end