- ルビー2.2.4
- のRails 4.2.6
- のPostgreSQL 9.5
私は、単純なモデルを保存しようとしているが、私していますフォームを送信すると、私のブラウザのURLはこの "http://localhost:8080/notes/new?utf8=%E2%9C%93&authenticity_token=z0cyVNfUKYWDSDASDWFFZ96zj29UTtDYe8dLlKrI6Mbznb2SrTWNm%2BQ91D2s2AASD2345Fl3fTOneCC2dNg%3D%3D¬e%5Btitulo%5D=ddddddd¬e%5Bconteudo%5D=dddddddddddddddddd&commit=Create"Rubyは - モデルを保存すると、ブラウザのGet URLを示し
私はこれについて興味があります他のプロジェクトは、同じ方法、同じルートを持っている、唯一の違いは、1つの列を持つモデルですが、正常に動作します。
def change
create_table :notes do |t|
t.text :titulo
t.text :conteudo
t.timestamps null: false
end
マイコントローラ:
def new
@note = Note.new
end
def create
@note = Note.new(note_params)
if @note.save
redirect_to '/'
else
render 'new'
end
end
private
def note_params
params.require(:note).permit(:titulo,:conteudo)
end
notes_controller.rb私のフォーム
<%= form_for(@note) do |f| %>
<div class="field">
<%= f.label :titulo %><br>
<%= f.text_area :titulo %>
<%= f.label :conteudo %><br>
<%= f.text_area :conteudo %>
</div>
<div class="actions">
<%= f.submit "Create" %>
</div>
<% end %>
私のルート
Rails.application.routes.draw do
root 'notes#index'
get 'notes/new' => 'notes#new'
post 'notes' => 'notes#create'
は、私がこの記事を見たRails form issuing GET request instead of POST request
私のためには機能しません。
編集:
私はアンソニー・E、彼の答えのおかげで、私は戻ってコードに見て、私は、フォーム内のフォームを持っていることを実感しましたそれを修正します。外側のフォームはapplication.html.erbにありました。
ありがとうございます。
あなたが得ているHTMLフォームタグを共有していただけますか? – jandresrodriguez