2011-11-07 42 views
0

這發生在我的應用程序/ controllers/categories_controller.rb:3:在'創建' 我打算開發一個博客,每個用戶可以爲他們創建幾個類別微柱。因此每個微博只能有一個類別。我有3個表格:用戶,微博和類別。我的意圖是讓用戶在用戶個人資料頁面添加類別。錯誤未定義的方法`類別'爲#<用戶:0x00000103047730>

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 %> 

回答

4

User模型,你有關係

has_many :category 

但在控制器從用戶的範疇上得到IES

current_user.categories 

重命名關係的名字has_many :categories

+0

has_many:類別它應該是複數 – Pavel

+0

謝謝!有效!我有點困惑,我應該在模型和控制器上使用複數還是單數。 –

相關問題