首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >试着让用户的帖子工作

试着让用户的帖子工作
EN

Stack Overflow用户
提问于 2013-12-16 15:05:53
回答 2查看 59关注 0票数 1

所以我现在大部分时间都在关注Hartl教程,但是我想让用户只需写一篇文章,这个帖子就属于他,并以简单的方式显示在一个独立的页面上。不喜欢推特的东西。

代码语言:javascript
运行
复制
def create
      @post = current_user.posts.build(post_params)
    if @post.save
      flash[:success] = "Post created!"
      redirect_to root_url
    else
      render 'posts/index'
    end
  end

现在我把这个放在我的post_controller里。我有一份表格,在提交的时候把帖子写成“post”。但我没有收到闪光灯,这意味着帖子没有保存,即使当我按下提交。为什么首先,其次,我也没有真正理解代码行:@post = current_user.posts.build(post_params)。那建筑到底要做什么?我不应该只做一个Post.new(post_params)?,并修改它一点,这样文章也会属于一个用户吗?

我为我的用户和发布模型做了一个要点:https://gist.github.com/Veske/7988593

服务器日志:

代码语言:javascript
运行
复制
Started POST "/posts/index" for 127.0.0.1 at 2013-12-16 17:19:52 +0200
Processing by PostsController#index as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"iT08NreZv83WtImK6V9/jXZOpgtzwSLjlxB7T/wn0E4=", "text"=>"This is a s
 post!", "commit"=>"Submit!"}
  Rendered posts/index.html.erb within layouts/application (1.0ms)
  User Load (1.0ms)  SELECT "users".* FROM "users" WHERE "users"."remember_token" = '390d667f7603eee5976fd8500a9a8776c
d3' LIMIT 1
  Rendered layouts/_menu.html.erb (4.0ms)
  Rendered layouts/_footer.html.erb (0.0ms)
Completed 200 OK in 21ms (Views: 19.0ms | ActiveRecord: 1.0ms)

这是我的表格

代码语言:javascript
运行
复制
<%= form_tag(@post) do %>
    <div class="forms">
    <%= text_area_tag(:content, nil, placeholder: "Type text in here...")%>
    <%= submit_tag 'Submit!' %>
    </div>
<% end %>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-16 15:34:21

这是你的答案。我做了一个要点https://gist.github.com/licatajustin/7989891

下一次,您可以轻松地通过命令行进行测试。

在控制台中键入

代码语言:javascript
运行
复制
rails c

> u = User.first
> u.posts.create(content: "My first post")

看看能不能

票数 2
EN

Stack Overflow用户

发布于 2013-12-16 15:26:01

你在发短信=“这是个帖子!”但是您的模型表明属性“内容”是必需的(而不是“文本”)

因此,@post.save失败了,您正在陷入失败语句中。我建议您查看创建此帖子的表单,因为它似乎没有创建正确的属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20614076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档