2017-06-01 10 views
0

新しいフォームと編集用に使用するフォームと、新しいフォームと編集用のインデックスとクリックの機能がありますが、フォームを作成または更新するとロードエラーが返されます他のコントローラに送信する。定数を自動ロードすることができませんコントローラ

コントローラーはシステム内のPathCreationsControllerで、別の場所で作成コントローラーを使用したいと思っています。それを定義するために使用したいと思っています。何もしないので奇妙です。

URLをフォームに追加して、メソッドを設定してみましたが、コントローラーを正しく動作させるためには、すべてのパラメーターをデータベースに設定して、有効な方法ではないと仮定しましたこれを修正する。フォームここ

class System::PathCreationsController < ApplicationController 

    def index 
    @paths = Path::Account.all 
    end 

    def new 
    @paths = Path::Account.new 
    end 

    def edit 
    @paths = Path::Account.friendly.find(params[:id]) 
    end 

    def create 
    @paths = Path::Account.new 

    if @paths.save 
     redirect_to system_path_creations_path(@paths) 
    end 
    end 


    def update 
    @path = Path::Account.find_by(slug: params[:id]) 
    if @path.update 
     redirect_to system_path_creations_path(@path) 
    end 
    end 
end 

されています:あなたは意志モデルに

def create 
    @paths = Path::Account.new(path_params) 
    if @paths.save 
    redirect_to system_path_creations_path(@paths) 
    end 
end 

をパラメータを更新したことがないcreateアクションで

= form_for @paths do |f| 
     %br 
     .form-group 
     = f.label :name, class: 'control-label' 
     = f.text_field :name, class: 'form-control' 
     .form-group 
     = f.label :slug, class: 'control-label' 
     = f.text_field :slug, maxlength: 28, class: 'form-control' 
     .form-group 
     %p.text-muted Click to upload new icon. 
     .fileinput.fileinput-new{"data-provides" => "fileinput"} 
      %div 
      .fileinput-thumbnail.thumbnail{style: 'max-width: 100%;'} 
       .fileinput-preview{data: {trigger: "fileinput"}, style: 'max-width: 100%;'} 
       = image_tag @firms.try(:logo).try(:present?) ? @life_event.try(:logo).try(:url) : asset_path('/path.svg') 
      %div 
      %span.btn.btn-default.btn-file.btn-sm{style: 'display: none;'} 
       = f.file_field :logo, class: 'file' 
       = f.hidden_field :logo_cache 
     .form-group 
     = f.label :user_id 
     = f.select :user_id, User.all.collect {|u| [#{u.email}", u.id] } 

     = f.submit class: 'btn btn-primary btn-sm' 

答えて

0

ここ

はコントローラであり、追加する必要もあります

def path_params 
    params.require(:path_account).permit(:name, :slug, :other, :params, :to, :permit) 
end 
+1

凡例のカップルノート明示的に指示されていない限り、モデル名のコントローラー(モデル名を複数形にしたもの)を探します。モデルパスでコントローラーはPathsController、ルートは/ paths/ 2番目:配列やコレクションに複数のパラメータを使用し、単一のオブジェクトに単一の緊張パラメータを使用することをお勧めします。 Path :: Account.allのパス、Path :: Account.newのパス これは、変数の中のwhatsを一目で認識する道を助けます。 –

+0

これを行う正しい方法ですが、現在パラメータが空の場所を取得しています – codewarrior

+0

要求に渡されているパラメータを示すログファイルのコピーを追加できますか? –

関連する問題