0

私は、Rails 4にバリデーションのある差分モデルから複数のフォームを表示しようとしています。ビューでは、フォームにnilを含んでいたりシングルページ複数モデルとバリデーション・レール4.2

私のコントローラ

空にすることはできません最初の引数のすべてのフォームしますが、フォームが送信さと内容は私がindexアクションをバックレンダリングエラーしたとき、その番組

細かいレンダリング

def index @oneWay = OneWay.new @twoWays = TwoWay.new end def one_way @form = OneWay.new(one_params) if @form.valid? else render :index end end 

マイビュー

<%= simple_form_for @twoWays, url: fleet_return_path, as: 'two_way', validate: true do |f| %> 

私は

0を試してみました
<%= simple_form_for @twoWays, url: fleet_return_path, as: 'two_way', validate: true do |f| %> 

ただし、検証エラーは発生しますが、検証エラーは発生しません。

ルート

constraints(FleetSubdomain) do 
    namespace :fleet, path: '/' do 
    get '/' => 'fleet#index', as: 'index' 
    post 'one_way' => 'fleet#one_way', :as => 'one_way' 
    post 'return' => 'fleet#returning', :as => 'return' 
    end 

end 
+0

レンダリングを試してください:代わりに "index" – chaitanya

答えて

0

エラー などを表示するために場所を追加する必要があります。

<%= simple_form_for @twoWays, url: fleet_return_path, as: 'two_way', validate: true do |f| %> 
     <%= render 'shared/error_messages', object: f.object %> 
<% end %> 
0

ビュー

<% if object.errors.any? %> 
    <div id="error_explanation"> 
    <div class="alert alert-error"> 
    The form contains <%= pluralize(object.errors.count, "error") %>. 
    </div> 
    <ul> 
    <% object.errors.full_messages.each do |msg| %> 
    <li>* <%= msg %></li> 
    <% end %> 
</ul> 
</div> 
<% end %> 

/app/views/shared/_error_messages.html.erb

http://ruby.railstutorial.org/book/ruby-on-rails-tutorialから、あなたの中に、フォームアクションで間違ったURLを与えているようですフォームに「fleet_return_path」と表示されているアクションがone_wayの場合、このような名前のルートがありますか、代わりにこのルートを使用しますか?

<%= simple_form_for @twoWays, url: one_way_path, as: 'two_way', validate: true do |f| %> 

<% if f.errors.any? %> 
     <div id="error_explanation"> 
     <div class="alert alert-error"> 
     The form contains <%= pluralize(f.errors.count, "error") %>. 
     </div> 
     <ul> 
     <% f.errors.full_messages.each do |msg| %> 
     <li>* <%= msg %></li> 
     <% end %> 
    </ul> 
    </div> 
    <% end %> 
    ---- ------- ---------- 
<% end %> 

フォームにあるURLを変更して、質問に記載されている操作に移ることを確認してください。

+0

route – rilly009

+0

という名前の名前空間ですので、one_wayアクションに行くのですか? plsはそのルートを貼り付けます – Sravan

関連する問題