创建用户生成的帖子

eomnis 发布于 2018-12-06 ruby 最后更新 2018-12-06 22:59 3 浏览

我做了一些研究,找不到合适的答案,所以我伸出手...... 使用Rails 3.1并尝试为用户创建一篇文章。当我去创建一个测试帖子时,我得到这个错误:

Missing template events/create, application/create with {:locale=>[:en, :en],
  :formats=>[:html], :handlers=>[:coffee, :erb, :builder]}
这是一个模板还是我应该调整我的路线? 预先感谢您的帮助。
已邀请:

hquia

赞同来自:

从您在此处提供的日志中,您应该发布到Events控制器的create方法。 从您的仓库中复制以下内容:

def create
  @event = current_user.events.build(params[:event])
  if @event.save
    flash[:success] = "Event Shared"
    redirect_to root_path
  #else
  #  render 'pages/about'
  end
#@event = Event.new         what I had before
  #@title = "Create An Event"
end
因此,如果@event.save失败,则没有重定向,并且渲染被注释掉。因此,默认情况下,rails 3.1将尝试按以下顺序查找视图文件:events / create,application / create(它与您的日志匹配) 如果失败的event.save,您很可能render "new",以便它将使用events / new.html.erb作为视图文件。 (当然这不是必须的,你可以渲染任何你想要的东西,如果你愿意,甚至可以重定向) (希望我在回购中查看的内容不是修改过的:))

cvelit

赞同来自:

可能你需要:

def create
  @event = current_user.events.build(params[:event])
  if @event.save
    flash[:success] = "Event Shared"
    redirect_to root_path
  else
    render :new
  end   
end
它将使用您在视图中已有的错误消息。

要回复问题请先登录注册