如何使用Rails在表单中保存用户名?

时间:2013-06-07 08:20:35

标签: ruby-on-rails forms

我没有在Rails中编码一段时间,所以有点挣扎。

当用户通过我制作的表单创建帖子时,如何通过帖子自动保存用户的用户名。

我使用Facebook Omniauth进行身份验证。

当我例如搜索\索引该帖子上的所有帖子名称时。

展会页面的代码是什么?

这是我的索引页面代码:

Name:
?????
From:
<%= post.from %>
To:
<%= post.to %>
Date:
<%= post.date %>

表格:

      <div class="field">
      <%= f.label :name %>
      <%= ? %>
      </div>
      <div class="field">
      <%= f.label :from %>
      <%= f.text_field :from, :class => 'address-picker-input' %>
      </div>
      <div class="field">
      <%= f.label :to %>
      <%= f.text_field :to, :class => 'address-picker-input' %>
      </div>
      <div class="field">
      <%= f.label :date %>
      <%= f.text_field :date, :class=> "field shorter"  %>
      </div>

控制器:

       def create
       @post = current_user.posts.build(params[:post])

1 个答案:

答案 0 :(得分:1)

在您的控制器中,您传递的是当前用户的帖子:

def create
   @post = current_user.posts.build(params[:post])
end

只需添加一行并传递用户信息:

@user_info = current_user.user_info
# => included data: name, nickname, first_name, last_name

检查docs以获取可以使用的更多数据。

最后,您可以在视图中轻松实现所需数据:

<div class="username">
<%= @user.name %>
</div>