0

我已经有一段时间没有在 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])
4

1 回答 1

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

查看文档以获取更多可以使用的数据。

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

<div class="username">
<%= @user.name %>
</div>
于 2013-06-07T09:08:25.253 回答