• ベストアンサー

Railsで500サーバーエラー

Railsでコントローラーをつかわずにtest_controler.rbとindex.rhtmlを作成して各ディレクトリに置きました。コントローラーはdef index endだけのシンプルなものです。インデックスは空ページです。これでアクセスしたところ500エラーになりました。ジェネレータから作成しなければいけないのでしょうか よろしくお願いします。

  • Ruby
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • lv4u
  • ベストアンサー率27% (1862/6715)
回答No.1

scaffoldを使って生成したアプリを実行したとき、 Status: 500 Internal Server Error というエラーがlogディレクトリのファイルに書かれていたことがあります。 このときは、このメッセージに続いて Access denied for user 'XXXXXX'@'%' to database 'YYYYYY' というメッセージが書かれていました。 データベースMySQLを使用していて、作成したSchemaに対して、ログインユーザにアクセス権限を与えていないのが原因でした。 エラーメッセージを見直せば、エラーの原因がわかると思いますよ。 >>ジェネレータから作成しなければいけないのでしょうか 一時は、ジェネレータのscaffoldが配布ファイルからはずされたこともあったようです。別に絶対にジェネレータから作らなくてはいけないってことはないですよ。

arumitsuku
質問者

お礼

回答ありがとうございます。 調べたところ、ただたんにアクセス権限がroot:rootになっていて、webサーバーを起動していたユーザーでアクセスできないためでした。 ご迷惑をおかけしました。

関連するQ&A

  • railsでアプリケーションコントローラーで宣言し

    rails3.1でアプリケーションコントローラーで宣言したインスタンス変数をビューで使いたいのですがnilが帰ってきます。参照する方法はあるでしょうか 以下のようになっています ●applicationコントローラー def example @test = "hoge" end ●アクションメソッド after_fileter :example def index ~~~ end ●ビュー <%= @test %> これでビューから@testがnilを返してしまいます よろしくお願いします。

  • rails3初心者 年齢を表示する

    rails3を勉強中です。 お詳しい方、ご教授いただけたら嬉しいです。 実装したい内容 プルボンタンで年齢「20」が選ばれた場合、 その結果を出力する(非モデル) ==================== views:presons/index.html ==================== <%= form_tag :action => :age do %> <%= select("form","age", (1..100))%> <%= submit_tag "表示する"%> <% end %> ==================== presons_controller.rb ==================== def index @preson = Preson.new end def age @preson = params[:form][:age] redirect_to :action => 'index' end ==================== views:presons/index.htmlで選択された 「20」を表示したいのですが、 そのコードの書き方をご教授ください。 どうぞよろしくお願い致します。

    • ベストアンサー
    • Ruby
  • Rails2.3でのserver/script再起動について

    Rails2.3でのserver/script再起動について 2.2.2を利用していたのですが、2.3.5へアップデートしようとしています。 rails 2.3.5のインストールは無事、完了し、プロジェクトを作成しました。 controller名を「hoge」にて、server/scriptにてwebrickを起動しました。 次にcontrollerにて、indexアクションを作成し、viewにて対応するindex.html.erbを作成しました。 ブラウザにて、http://localhost:3000/hoge/indexにアクセスすると、 「Template is missing」となってしまいます。 webrickを再起動し、再度アクセスすると正常に表示されます。 rails 2.2.2までは、development環境下では、 viewのファイル追加では再起動が不要だった(config以下は必要だった)と認識しているのですが、 rails 2.3では再起動が必要になったのでしょうか?ちなみにmongrel 1.1.5で行っても同じでした。 どなたかご教授お願いいたします。

  • railsでのデータベースエラー

    Ruby on rails を最近はじめました! MySQLをDBとしたところ、 Action Controllerでエラーが発生してしまいました! #28000Access denied for user 'root'@'localhost' (using password: NO) とはどういうことなのでしょうか?? アドバイスよろしくお願いします!! ※WindowsVista + MySQL + rails

  • Rails3でAjaxを使いたい

    どなたが知識をご教授下さい。 Rails3でAjaxのごく普通のハイパーリンクを作成したいのですが、うまくいきません。 /users/index.html.erb <div id="hoge"> <%= link_to "ajax",{:action => 'draw'},:remote => true %> </div> -- /users/_draw.html.erb ~いろいろ内容~ -- /users/draw.js.erb $('#hoge').html("<%= escape_javascript(render :partial => 'draw' )%>"); -- /users_controller.rb def draw ~いろいろ処理~ end -- ルーティング match 'users/draw' => 'users#draw' -- application.html.erb <%= javascript_include_tag :defaults %> -- gemfile gem 'jquery-rails' 以上のように処理するよう様々なサイトや書籍にはありましたが、「Templete Missing」のエラーが出てしまいます。かれこれ5時間以上ハマってまして、、、 どなたか知識をご教授頂けたら幸いです。 *メモ アクションdrawに渡ったときに、 「request.xhr?がfalse」ということは、ajax通信できていないということでしょうか???

    • ベストアンサー
    • Ruby
  • rails3初心者 画像にリンクを貼りたい

    ご教授いただければ幸いです。 ==================================== carts/index → carts/deliveryへリンクしたい =================================== button_toを使うとちゃんと動きますが <%= button_to "購入する" , :controller => 'carts', :action => 'delivery' %> 画像に替えると上手く動きません。 <%= link_to (image_tag ("/images/cart_next.png"),:size=>"180x40")),'/delivery',{:method => :post}) %> link_toやbutton_toを使用して画像にリンクを貼る方法はございますでしょうか? =================================== carts/controller.rb =================================== def index @cart = find_cart end# def find_cart session[:cart] ||= Cart.new end def delivery @cart = find_cart @addressee = Addressee.new() end

    • ベストアンサー
    • Ruby
  • Railsでのpaginateの方法

    Rails3.2.9でのpaginateがうまくいきません。 分かる方、御教示ください。 今のところ、下記の状態です。 (1)Ruby193/lib/ruby/gems/1.9.1/gemsの下に、mislav-will_paginate-2.3.11  をインストールした。 (2)Ruby193/rails/demand/Gemfileに gem 'mislav-will_paginate', '~> 2.3' を追加した。 (3)コマンドプロンプトで、>bundle installを実行 Using mislav-will_paginate (2.3.11)となっていることを確認 (4)app/controller/demandapps_controller.rb のdef indexの@demandapps = Demandapp.allを @demandapps = Demandapp.paginate(:page => params[:page], :per_page => 15) に変更 (5)app/views/demandappsのindex.html.erbの <table>~</table>の下に <%= will_paginate(@items) %> を追加。 この状態でWEBrickを動かすと、 NoMethodError in DemandappsController#index undefined method `paginate' for #<Class:0x3c0a218> app/controllers/demandapps_controller.rb:5:in `index' のエラーが出ます。paginateが認識されていないようなのですが、 この他にどこか設定しないといけない個所とかあるのでしょうか? よろしくお願い致します。

    • ベストアンサー
    • Ruby
  • railsのscaffoldにて作成したプロジェクトの

    railsのscaffoldにて作成したプロジェクトの ViewsのEditのlink_toの第二引数の値がどこで設定されているかわかりません。 例えば、モデル名を"student"にてscaffoldを実行すると、 index.html.erbのEditはこのようになります。 <td><%= link_to 'Edit', edit_student_path(student) %></td> この"edit_student_path"というのが、何者なのかよくわかりません。 どこかで定義されているわけでもなく、動的に生成されているようですが、 仕組みが全くわかりません。 出力されたhtmlの該当部分はこのようになってます。 <a href="/students/1/edit">Edit</a> 現在、scaffoldにて生成したコントローラとビューを一階層掘り下げようとしている所で、出くわした問題です。 controllers/students_controller.rb views/students/index.html.erb ↓ controllers/hoge/students_controller.rb views/hoge/students/index.html.erb どなたかご教授いただけますでしょうか? ちなみにrailsのバージョンは2.3.5です。

    • ベストアンサー
    • Ruby
  • Aptanaでrailsの作成エラー

    次のHPを参照して、Windows8にApatana Studio 3をインストールして、それにRuby開発Toolsのインストールをインストールしました。 http://www.kkaneko.com/rinkou/rubydb/aptanarails.html これで、ruby 及び ruby on railsのプロジェクトを作成しようとしましたが、 Rubyのプロジェクトは作成して動作させることができましたが、 Railsのプロジェクトが作成できませんでした。 症状は、プロジェクトの作成の完了ボタンをクリックしたときに、次のエラーメッセージが表示されました。 $ rails new . DL is deprecated, please use Fiddle c: /Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/lib/rails/generators/rails/app/app_generator.rb:281 :in `const_defined?': wrong constant name (NameError) from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/lib/rails/generators/rails/app/app_generator.rb:281 :in `valid_const?' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/lib/rails/generators/app_base.rb:137:in `create_root' from (eval):1:in `create_root' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/command.rb:27:in `run' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `block in invoke_all' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `each' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `map' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/invocation.rb:133:in `invoke_all' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/group.rb:232:in `dispatch' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/thor-0.19.1/lib/thor/base.rb:440:in `start' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/lib/rails/commands/application.rb:17:in `<top (required)>' from c:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require' from c:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/lib/rails/cli.rb:14:in `<top (required)>' from c:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require' from c:/Ruby200-x64/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:73:in `require' from c:/Ruby200-x64/lib/ruby/gems/2.0.0/gems/railties-4.1.0/bin/rails:9:in `<top (required)>' from c:/Ruby200-x64/bin/rails:23:in `load' from c:/Ruby200-x64/bin/rails:23:in `<main>' 初心者なもので、これのエラーの原因と対策がわかりません。 わかる人がおられたならば、御教授お願い致します。

  • requireでエラーが起きてしまう

    requireでエラーが起きてしまう タイトルのとおり、requireの箇所でエラー(no such file to load)が起きてしまって先に進めない状態なので、どなたか解決策がわかるかたいらっしゃいましたら教えてください>< 今、 method_area.rb -- def triangle(x, y) return (x * y / 2) end def square(x) return x**2 end -- main.rb -- require 'method_area.rb' puts(triangle(8, 24)) puts(square(15)) -- の2つのファイルを同じディレクトリに置いています。

    • ベストアンサー
    • Ruby

専門家に質問してみよう