【发布时间】:2016-11-13 04:42:01
【问题描述】:
我正在尝试学习如何在我的 Rails 5 应用中使用命名空间。
我有一个名为 randd_fields 的资源。
数据库中的表被调用:
randd_fields
我有 model.rb 文件:
randd.rb
module Randd
def self.table_name_prefix
'randd_'
end
end
class Randd::Field < ApplicationRecord
end
控制器被调用:
视图被组织在带有视图/rannd/fields 的文件中
在我的 _form.html.erb 中,我试图找到一种方法来让表单呈现。
这些我都试过了。
<%= simple_form_for(@field), multipart: true do |f| %>
<%= simple_form_for(@randd, @field), multipart: true do |f| %>
<%= simple_form_for([:randd, @field]), multipart: true do |f| %>
他们每个人都给出一个错误:
第一个,给出一个错误,上面写着: nil:NilClass 的未定义方法“model_name”
第二个 2 给出一个错误,上面写着:
syntax error, unexpected tLABEL
...r([:randd, @field]), multipart: true do |f| @output_buffer.s...
如何使用命名空间资源的新路径?
我的路线显示:
rake routes | grep field
import_randd_fields POST /randd/fields/import(.:format) randd/fields#import
randd_fields GET /randd/fields(.:format) randd/fields#index
POST /randd/fields(.:format) randd/fields#create
new_randd_field GET /randd/fields/new(.:format) randd/fields#new
edit_randd_field GET /randd/fields/:id/edit(.:format) randd/fields#edit
randd_field GET /randd/fields/:id(.:format) randd/fields#show
PATCH /randd/fields/:id(.:format) randd/fields#update
PUT /randd/fields/:id(.:format) randd/fields#update
DELETE /randd/fields/:id(.:format) randd/fields#destroy
我找不到让表单呈现以创建新的 randd_field 实例的方法。
【问题讨论】:
标签: ruby-on-rails ruby namespaces simple-form