0
私はRails 5アプリケーションで名前空間を使用する方法を学ぼうとしています。Rails 5 - シンプルフォーム - 名前空間リソース
私はrandd_fieldsというリソースを持っています。
は、データベース内のテーブルが呼び出されます:コントローラが呼ばれ
module Randd
def self.table_name_prefix
'randd_'
end
end
class Randd::Field < ApplicationRecord
end
randd.rb:
randd_fields
私はmodel.rbファイルを持っていますビューは、ビュー/ rannd /フィールドを持つファイルで構成されています
私の_form.html.erbでは、フォームをレンダリングする方法を見つけることを試みています。
私はこれらを試しました。 nilのため 未定義のメソッド `MODEL_NAME」:
最初は、というエラーを与える:
<%= 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| %>
それらの各
がエラーを与える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インスタンスを作成するためにレンダリングするためのフォームを取得する方法を見つけることができません。
を試してみて、このエラーを与えること:未定義のメソッド 'randd_randd_fields_pathを」#<#<クラス:0x007f8095407988>:0x007f809c2633a0>のために もしかして? randd_fields_path – Mel
大丈夫、私はそれを得ました、このフォームは、新しいフィールドを作成することです、右か?あなたの 'fields_controller#create'コードを追加してください。 – phamhoaivu
答えを編集しましたが、エラーメッセージと 'fields_controller#create'コードを追加できますか? – phamhoaivu