質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1356閲覧

ルーティング バグ

tomoharu

総合スコア107

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/03/01 12:50

編集2017/03/05 00:19

現在、ruby on rails でウェブアプリを作成しております。
以下の現状に悩まされております。
(当方初心者、かつ長い質問になります。)

#起こっているバグ:
マイページボタン(下記参照)を押すと、Couldn't find User with 'id'=
投稿するボタン(下記参照)を押すと、undefined method `comics_path' for #<#Class:0x007fb62d582ad8:0x007fb62c237eb0>
となる。

#関連(していると思われる)ソースコード(おそらくルーティングが問題?):
####1ターミナルrake routes
root GET / comics#index

POST / comics#create

like_user_comic POST /user/:user_id/comics/:id/like(.:format)
comics#like

search_user_comics GET /user/:user_id/comics/search(.:format) comics#search

user_comics GET /user/:user_id/comics(.:format) comics#index

POST /user/:user_id/comics(.:format) comics#create

new_user_comic GET /user/:user_id/comics/new(.:format) comics#new

edit_user_comic GET /user/:user_id/comics/:id/edit(.:format) comics#edit

user_comic GET /user/:user_id/comics/:id(.:format) comics#show

PATCH /user/:user_id/comics/:id(.:format) comics#update

PUT /user/:user_id/comics/:id(.:format) comics#update

DELETE /user/:user_id/comics/:id(.:format) comics#destroy

user_index GET /user(.:format) user#index

POST /user(.:format) user#create

new_user GET /user/new(.:format) user#new

edit_user GET /user/:id/edit(.:format) user#edit

user GET /user/:id(.:format) user#show

PATCH /user/:id(.:format) user#update

PUT /user/:id(.:format) user#update

DELETE /user/:id(.:format) user#destroy

####2comics_controller

def index @comic = Comic.order('id DESC') @comic_ranking = Comic.order("like DESC").limit(5) end def like @comic_liked = Comic.find(params[:id]) @comic_liked.update(like: @comic_liked.like+1) redirect_to :action =>'index' end def show end def new @comic = Comic.new end def create @comic = Comic.new(comic_params) @comic.save redirect_to :action =>'index' end def search @q = Comic.ransack(params[:q]) @comics = @q.result end def comic_params params.require(:comic).permit(:title,:author,:like,:front_cover) end end

####3index.html.erb (comicscontroller 配下でlink_toの部分)

<h1> ~~~~</h1> ~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~ <% if user_signed_in? %> <%= link_to '作品検索' ,search_user_comics_path(user_id: current_user.id) %> <%= link_to '投稿する' ,new_user_comic_path(user_id: current_user.id) %> <%= link_to 'マイページ' ,user_path(id: current_user.id), method: "get" %> <%#= @user.name %> <%= link_to "ログアウト", destroy_user_session_path, method: "delete" %> <% else %> <%= link_to 'ログイン' ,user_session_path %> <% end %>

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
長くなり申し訳ありません。少しでも情報開示した方がよいかと思い、このような形にいたしました。
何卒、ご協力ください。よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

suzukis

2017/03/02 07:15

インデントなどが反映されていないのでとても見にくいです。適切に表示されるように、編集画面でコードの部分を選択して、"<code>"のボタンを押してください。
guest

回答1

0

ベストアンサー

ruby

1applicaiton_controller.rb 2 3def current_user 4@current_user ||= User.find(session[:user_id]) if session[:user_id] 5end

という記述がありますか

ruby

1route.rb 2 3resouces :comics

という記述がありますか
なければそれぞれ追加してみてください。

投稿2017/03/02 07:36

moke

総合スコア2241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tomoharu

2017/03/05 00:20

ありがとうございます。 一つ目がありませんのでやってみます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問