我有一个包含id,姓名,电子邮件等的用户表...
我想将当前记录的用户ID传递到另一个表Post,以便每个帖子都包含相应的用户ID。
控制器端
**app/controller/post_controller.rb**
class PostController < ApplicationController
def index
@post=Post.new
@posts=Post.all
end
def create
@post=Post.new(params[:post])
respond_to do |format|
if @post.save
format.html { redirect_to :controller=>"post" ,:action=>"index" }
format.json { render json: @post, status: :created, location: @post }
#redirect_to :controller=>"post" ,:action=>"index"
else
format.html { redirect_to :controller=>"home" ,:action=>"index" }
format.json { render json: @post, status: :created, location: @post }
end
end
end
查看部分
**app/views/post/questions.html.erb**
<%=form_for :post do |f| %>
<table>
<tr>
<td>
Title:<%=f.text_field :title %>
</td>
</tr>
<tr>
<td>
<h3>Question</h3>
</td>
</tr>
<tr>
<td>
<%=f.text_area :body %>
</td>
</tr>
<tr>
<td>
Tag:<%=f.text_field :tag %>
</td>
</tr>
<tr>
<td>
<h3><%= f.submit "Post Your Question" %></h3>
</td>
</tr>
</table>
<%end%>
帖子表包含用户ID,标题,正文,标记
当用户成功登录时,我已在会话中存储了用户ID值........
请告诉我如何在Post表中添加id字段.....
答案 0 :(得分:0)
在create方法而不是此@post=Post.new(params[:post])
中将其更改为此
@post=Post.new(params[:post]).merge(user_id: current_user.id)
你会很高兴