我正在尝试学习如何在我的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
控制器被调用:
视图组织在包含views / 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| %>
每个都会出错:
第一个,给出了一个错误: 未定义的方法`model_name'代表nil:NilClass
第二个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实例。
答案 0 :(得分:0)
尝试以下
<%= simple_form_for @field, multipart: true do |f| %>