我对此有疑问,无法在Internet上的任何地方找到答案。
这是我遇到的错误:
PG::UndefinedTable: ERROR: missing FROM-clause entry for table "region_translations"
LINE 1: ...ions"."id" = "orders_regions"."region_id" WHERE ((region_tra...
所以我有Order类,它具有以下关系:
has_and_belongs_to_many :regions, :trough => :regions_orders
然后,我在rails admin部分中使用此方法:
rails_admin do
parent Booklet
list do
field :first_name
field :last_name
field :sent
field :address
field :state
field :city
field :postal_code
field :booklets_orders
field :regions
field :language
field :regions do
searchable ({Region::Translation => :title})
sortable({:region_translations => :title})
filterable true
queryable true
end
然后,我看到该区域出现在可能的过滤器中,但是如果我尝试请求,则会收到上面提到的错误。据我了解,这是因为它没有在表orders_regions.region_id
和region_translation
之间进行左联接。但老实说,我不确定如何访问它,在region
和region_translation
之间建立了正确的关系(它在站点中的任何地方都有效),所以我被困在那里……有什么线索吗? / p>
答案 0 :(得分:0)
以下是您可以明确设置的方法:
def Menu():
return("\n"
+ "Menu:\n-------------"
+ "\n1 - Does This"
+ "\n2 - Does That"
+ "\n3 - Quit"
+ "\n")
while True:
print(Menu())
option = int(input("Please choose an option: "))
if option == 1:
print("\n Does This")
continue
if option == 2:
print("\n Does That ")
continue
if option < 1 or option > 3:
print("\nIncorrect input!")
continue
if option == 3:
print("\nBye!")
break
region_orders表是联接表,将具有order_id和region_id列以及您希望放入其中的任何其他列。这些额外的列应反映某个实体,该实体是该行的区域和顺序的组合。例如,您可能有一个名为“数量”的附加列,该列表示该区域中该订单的已售出单位数量。因此,联接表的一行分别对应于order_id,region_id和数量,如下所示:22、12、1000。这意味着订单的区域12中售出了1000个单位(这是regions表中该区域的id) 22(这是订单表中订单的ID)。我不知道您要建模的内容,但是希望对您有所帮助。