2017-05-23 15 views
-1

ユーザーが私のpostgresqlデータベースにフォーム入力を通じてURLを送信できるレールアプリを構築していますが、データベースに送信していないようですすべて、それは私にエラーを与えていません。それは私を与えている唯一のものはurlはユーザー投稿のとき:UrlController#のテンプレートが作成されていません。レンダリングhead:no_content

UrlController番号が見つかりませんテンプレートは、レンダリングのヘッド作成:(:4.6msのActiveRecordの)

のでNO_CONTENT は75msのんのコンテンツ204を完了します ユーザーは '/ url'へのリクエストを受け取り、URL(例: 'google.com')を入力するフォームを取得し、このフォームは '/ url'に投稿されます

私のUrlController私は持っています:

class UrlController < ApplicationController 
def index 
    @url = Url.all 
end 
def create 
    puts params[:url] 
    Url.new(url: "foo") 
end 
header_parser2_development=# \dt 
       List of relations 
Schema |   Name   | Type | Owner 
--------+----------------------+-------+--------- 
public | ar_internal_metadata | table | minimoe 
public | schema_migrations | table | minimoe 
public | tags     | table | minimoe 
public | urls     | table | minimoe 
(4 rows) 

とURLモデル::3210終わり

ここ

は私のPostgresのURLデータベースは、次のようになります

header_parser2_development=# SELECT * FROM urls; 
id | url | created_at | updated_at 
----+-----+------------+------------ 
(0 rows) 

誰もこれを説明することができ、そして、私はこの問題を解決することができますか?ドキュメントによると、これはうまくいくはずで、私は何のエラーも出ません。

答えて

0

あなたがUrl.newを行うと、それは唯一のオブジェクトを構築しますが、あなたはそれをデータベースに永続化するために、それをsaveする必要があります。デフォルトで

def create 
    @url = Url.new(url: params[:url]) 
    if @url.save 
    # Handle success 
    redirect_to urls_path, notice: "Url saved" 
    else 
    # Handle failure 
    end 
end 

Railsはアクションの名前でテンプレートをレンダリングしようとしますこの場合、createテンプレートを探しています。したがって、オブジェクトを作成した後で、この例のようにshowまたはindexのような別のアクションをリダイレクトすることができます。

0

私はUrl.createに切り替えました。これで完全に動作します

関連する問題