2016-03-18 11 views
1

私はRubyとRailsを教えています...今日まで、それについてはかなり良い感じがしています。 :)Ruby - redirect_toは正しいページにリダイレクトされますが、URLは変更されていません

しかし、今日私は問題に遭遇しました。私はブログを作成して練習しています。ルートとビューを設定しました。コードはデータベースに書き込まれますが、redirect_toは正しく動作していないようです。

ユーザが.../article/newに移動すると、新しい記事を入力できます。提出が成功すると、アプリはURL ../article/idにリダイレクトし、記事をshow.html.erbに表示し、記事が正常に保存されたというメッセージをフラッシュします。

何らかの理由で、URLリダイレクト部分が機能しなくなってしまいます。記事が保存されると、show.html.erbに適切なメッセージが表示されますが、urlは../article/newのままです。リダイレクトが機能しない場合、他のアクションが異なるURL(例えば、../article/id/edit)を必要とするため、残りのアプリケーションは動作しません。

私は表示ページで

<%= @article.inspect %>
を使用していますが、すべてが正しく保存されているように見えます(これは正しいビューを呼び出すためです)。

非常に歓迎すべきことです。私は本当にRubyとRailsを勉強していることに興奮しており、これをやり遂げることを楽しみにしています。

articles_controller.rb:

class ArticlesController < ApplicationController 
    def new 
    @article = Article.new 
    end 

    def create 
    @article = Article.new(article_params) 
    if @article.save 
     flash[:notice] = "Article was successfully created" 
     redirect_to article_path(@article) 
    else 
     render 'new' 
    end 
    end 

    def show 
    @article = Article.find(params[:id]) 
    end 

    private 
    def article_params 
    params.require(:article).permit(:title, :description) 
    end 
end 

すくいルートは:

Prefix Verb URI Pattern     Controller#Action 
     root GET /       pages#home 
     about GET /about(.:format)    pages#about 
    articles GET /articles(.:format)   articles#index 
      POST /articles(.:format)   articles#create 
new_article GET /articles/new(.:format)  articles#new 
edit_article GET /articles/:id/edit(.:format) articles#edit 
    article GET /articles/:id(.:format)  articles#show 
      PATCH /articles/:id(.:format)  articles#update 
      PUT /articles/:id(.:format)  articles#update 
      DELETE /articles/:id(.:format)  articles#destroy 
+0

アプリケーションでターボリンクを使用していますか? – Ilya

+0

私はそうではありません...私は、クラウド9のIDEがあらかじめインストールされているものであれば何でも構いません。 –

答えて

1

あなたはarticle_urlからarticle_pathを変更しようとしたことがありますか?これはあなたが探している行動を誘発するかもしれません。

+0

こんにちは - 私はこれを試しましたが、うまくいきませんでした。私は本当に、本当に失われています...私はこのチュートリアルで続けてきました。 –

0

掘り起こした後、cloud9フォーラムのフレンドリーなユーザーがわかりやすく説明できました。私はc-9ウィンドウでアプリケーションを実行していました...実際のブラウザウィンドウでそれを実行すると問題は解決しました。私はそれを把握助けるためOxyrusに再び

https://community.c9.io/t/ruby-rails-redirect-to-not-working-properly/3644

そして感​​謝:ここ

は、それがcloud9のフォーラムで、オーバー考え出した会話へのリンクです。

関連する問題