ただの関連付けですが、素人にとっては小石程度でもつまずくものですw
$ rails g model budget category_id:string
$ rails g model category category:string ←ここのせいで紛らわしくなったw
controllerは別途生成しているとします。
categoryにカテゴリ品目を追加(create, newを使って)し、
budget.rb
belongs_to :category
category.rb
has_many :budgets
を追加し、関連付ける。
views/budgets/html.erbに
<% @budgets.each do |budget| %>
<%= budget.category.category %>
<% end %>
budgets_controller.rb にcategory部分を記述
def new
@categories = Category.all #追加
end
def create
@category = Category.new(params[:category]) #追加
end
で表示された。何を言いたいかというと、
一個目でカテゴリモデルを指定し、2個めでカテゴリカラムを指定して表示させた。
もし、rails g model category name:stringにしておけば、
<%= budget.category.name %>と非常に読みやすいコードになったのにw
ずっと<%= budget.category_id %>か<%= budget.category %>てしてて
つまずいていた。
よかったよ、今日中に間に合ってw
もう頭がまわらん、おやすみww