这发生在我的app / controllers / categories_controller.rb中:3:在`create'中 我计划开发一个博客,每个用户都可以为他们的微博创建少数类别。因此每个微博只能有一个类别。我有3个表:用户,微博和类别。我的目的是让用户在用户个人资料页面添加类别。
model/category.rb
class Category < ActiveRecord::Base
belongs_to :user
attr_accessible :category
end
模型/ user.rb
has_many :category, :dependent => :destroy
accepts_nested_attributes_for :category, :reject_if =>lambda {|a| a[:category].blank?}
categoriesController
class CategoriesController < ApplicationController
def create
@category = current_user.categories.new(params[:category])
if @category.save
flash[:success] = "Category created!"
redirect_to @user
else
flash[:error] = "Category not created."
render @user
end
end
end
usersController
def show
@user = User.find(params[:id])
@title = @user.name
@category = @user.category.new
end
用户show.html
<%= form_for @category do |f|%>
<%= hidden_field_tag :user_id, @user.id %>
<%= f.label :category ,"Category:"%>
<%=h f.text_field :category %><br />
<%= f.submit "Add Category" %>
<% end %>
答案 0 :(得分:4)
在User
模型中,您有关系
has_many :category
但是在控制器中获取用户分类 ies
current_user.categories
将关系名称重命名为has_many :categories
。