【发布时间】:2015-05-06 03:35:25
【问题描述】:
注意:这里是 Rails newb。
所以,我最近创建了一个带有 mongoid gem 的 Rails 应用程序,用于 MongoDB。我有一个 :blog 的命名空间路由和 posts 的资源嵌套
Routes.rb:
Rails.application.routes.draw do
namespace :blog do
resources :posts
end
end
错误来自app/controllers/blog/posts_controller.rb:
Class Blog::PostsController < ApplicationController
def create
@post = Post.new(post_params)
if @post.save
redirect_to @post
else
render 'new'
end
end
private
def post_params
params.require(:post).permit(:title, :body)
end
end
我还有一个带有标题和正文的“帖子”模型:
Class Post
include Mongoid::Document
field :title, type: String
field :body, type: String
end
在 new.html.erb 中:
<h1>Rails Sample Blog</h1>
<%= form_for @post, url: blog_post_path do |f| %>
<div><%= f.label :title %><%= f.text_field :title %></div>
<div><%= f.label :body %><%= f.text_area :body %></div>
<% end %>
有没有我遗漏的东西没有抓住? 它慢慢地困扰着我。
编辑:查看此 Git 存储库:https://github.com/hackathons-com/Rails-MongoDB-Devise-test
编辑 2:
undefined method `post_url' for #<Blog::PostsController:0x007f3d19105ee8>
【问题讨论】:
-
Class应该是小写的(大写的Class其实就是一个类本身的名字)。不确定这是否能解决问题,但绝对是个问题
标签: ruby-on-rails ruby ruby-on-rails-4 mongoid rails-routing