#回答よろしくお願いします
エラーのページ
ruby
1<div class="col-md-6 col-md-offset-3"> 2 <h1>テスト作成</h1> 3 <%= form_tag words_path, method: :create do %> 4 <%= fields_for "words[]",@words, index: nil do |f| %> 5 <%= render 'shared/error_messages', object: f.object %> 6 7 <%= f.hidden_field :user_id, value:current_user.id %> 8 9 <%= f.label :title,"タイトル"%> 10 <%= f.text_field :title, class: 'form-control' %> 11 12 <%= f.label :question,"問題"%> 13 <%= f.text_area :question, class: 'form-control' %> 14 15 <%= f.label :answer, "回答" %> 16 <%= f.text_area :answer, class: 'form-control' %> 17 18 <%= f.label :image,"ホーム画像" %> 19 <%= f.file_field :image,class: 'form_control'% 20 21 <% end %> 22 23 <div id='key'></div> 24 <%= link_to '問題を追加',add_path, remote: true ,class: 'btn btn-success'%> 25 <br> 26 <%= submit_tag '完了',class: "btn btn-primary" %> 27 <% end %> 28 </div> 29</div> 30 31 32
##バリデーションを描いた後、上のページだけエラーが出るようになった。
ruby
1class Word < ActiveRecord::Base 2 3 validates :question,length: { minimum: 1 } 4 validates :answer,length: { minimum: 1 } 5 validates :answer ,length:{minimum:1} 6 validates :title ,length:{minimum:1} 7 8 acts_as_taggable 9 belongs_to :group 10 belongs_to :user 11 has_many :favorites, dependent: :destroy 12 13 def favorite?(user) 14 favorites.where(user_id: user.id).exists?# exists?の説明 user.idが一致する人を探す。いたら、true いなかったら false 15 end 16end
コントローラー
ruby
1def new 2 @words = Word.new 3 end 4 5 def create 6 word=words_params 7 word.each do |word| 8 @word = Word.create word 9 end 10 if @word.save 11 flash[:success] = "success!" 12 redirect_to @word 13 else 14 render 'new' 15 end 16 end
少し情報が足りない気がします。controllerもさらしてください。あとvalidatesを全て削ってcreateできるか試してください
もちろん、バリデーションを書かなければ動きます。
@wordを@wordsにすれば動くとは思いますが…
過去の質問nested_form_fieldsというgemについてというのを見てやりたいことがわかりました。親のないレコードの複数更新をしたいのですね。
rails(レールズ)はその名の通りレールから外れると大変です。親のないレコードを一括更新したいで再度質問を立てた方がいいかもしれません。
ありがとうございます。 @wordsにしたら、うまくいきました。
今更ここまで作りこんだものを変える気はないでしょうが、次やる時の指針にでもなればと回答をしときますねー
回答1件
あなたの回答
tips
プレビュー