私は、自分のRailsビューの別のコントローラからアクションにアクセスするためにform_tagを使用しました。これは私にエラーメッセージを表示するためのトラブルを引き起こしています。私はまた、潜在的に問題を引き起こしている可能性がJQueryを使用しています。私はform_tagがモデルにバインドされていないことを読んだので、validates_uniqueness_ofのようなものが動作しない可能性があります。 form_tagで検証の理解を助けてくれてありがとう!参考のために、ここで私のコントローラ別のコントローラでform_tagを使用したエラーメッセージRails 3
されています:
# app/controllers/posts_controller.rb def create @post = Post.new @post.text = params[:text] @post.user_id = current_user.id @post.save respond_to do |format| if @post.save format.js format.html { redirect_to(username_path(:username => current_user)) } format.xml { render :xml => @post, :status => :created, :location => @post } else format.html { render :action => "new" } format.xml { render :xml => @post.errors, :status => :unprocessable_entity } end end end
そして、(私のUserモデル上の)私の見解
# app/views/users/show.html <% form_tag({:controller => "posts", :action => "create"}, :method => "post", :class => 'newpost') do %> <%= error_messages_for :post %> <%= text_field_tag :text, params[:text] %> <%= image_submit_tag("../images/add.png", :border => 0, :class => "submitadd") %> %lt;% end %>
あなたの問題は何ですか? –
サーバの出力にはメッセージポストが表示されますが、エラーメッセージは返されません。入力が検証と一致すると、ポストは動作し、ブラウザで何も起こらないときに機能します。 – James