2016-03-04 71 views
0

我产生与设计的控制器:轨道4&设计 - 生成欢迎后,当新用户注册

$ bash <(curl -s https://raw.github.com/foohey/cdc/master/cdc.sh -L) 

在从here

的指令。在模型/ user.rb

has_many :posts

accepts_nested_attributes_for :posts

registrations_controller.rb我写道:

def create 
    super 
    @registration = Registration.new 
    respond_to do |format| 
     if @registration.save 
     current_user.posts.create!(
      name: 'Sample Post', 
      body: '<p style="text-align: justify;"><span style="font-size:14px"><span style="font-family:times new roman,times,serif">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></span></p>'  
      )   
     else 
     format.html { render :new } 
     end 
    end 
    end 

在路线:

devise_for :users, :controllers => { :registrations => "devise/registrations" } 

我也曾尝试用:

def create 
    super 
    if @user.persisted? 
     post = @user.posts.build 
     post.name = 'Welcome Post' 
     post.body = '<p style="text-align: justify;"><span style="font-size:14px"><span style="font-family:times new roman,times,serif">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></span></p>' 
     post.save  
    end 
end 

但我不能生成样品后,我该如何实现?

回答

0

你不实际的记录分配给用户,这样,在你万一你这应该试试这个:

def create 
    super 
    if @user.persisted? 
     post = @user.posts.create(name:'Sample Post', 
           body: '<p style="text-align: justify;"><span style="font-size:14px"><span style="font-family:times new roman,times,serif">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span></span></p>') 
    end 
end 

+0

它不工作,我需要的职位属于已创建的用户。 – mguz