我對rails很新穎。我有一個一對多的協會。 Table1帶有幾個字段。一個字段是標題位置,另一個字段是ccode。表2如何只有2個字段,第一個字段也是位置,第二個字段也是ccode。這個表只是爲了保持我的位置。在Table1中,當我創建一個對象時,我分配了ccode,並且我想從Table2中獲取相應的位置給ccode。表2 has_many表1和表1屬於表2。此外,我想在<table>
標記中顯示索引視圖中的位置。我認爲我的視圖代碼看起來就像我找到的例子,我也足夠了解html。我得到的問題是我的Table2對象返回nil。Ruby on rails一對多關聯
這是我的Table1模型的樣子。
class Table1 < ActiveRecord::Base
belongs_to :table_2
require 'csv'
def self.import(file)
CSV.foreach(file.path, headers: true, row_sep: :auto, col_sep: "\t") do |row|
Table1.create! row.to_hash
end
end
end
這是我的Table2模型的樣子。
class Table2 < ActiveRecord::Base
self.table_name = 'table_2'
self.primary_key = 'ccode'
has_many :table1
end
這裏是Table1Controller樣子
class FinancialsController < ApplicationController
def index
@financials = Financial.all
end
def create
@financial_loc_ccode = FinancialLocCcode.create(location_code: params[:location_cd], ccode: @financials.ccode)
end
end
我沒有表2控制器,一切都在表1控制器完成,我想這是因爲當我開始這個項目已經有一個表爲表2創建。
就像我之前說過的,我對Rails很陌生,仍然在學習模型和控制器之間的關係,以及如何操縱數據,並且已經在html中顯示它。
任何幫助將不勝感激。
你的問題是什麼? – jvillian
那麼你的具體問題是該協會沒有發生?你提到表2返回零。什麼時候?當你創建table1對象時,你傳遞給他們一行...你是否也傳遞給他們一個Table2 ID?如果不是,那麼與Table2對象的關聯永遠不會發生。 – toddmetheny