• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:rails3初心者 画像にリンクを貼りたい)

rails3初心者 画像にリンクを貼りたい

このQ&Aのポイント
  • carts/index → carts/deliveryへリンクしたい
  • button_toを使うとちゃんと動きますが画像に替えると上手く動きません。
  • link_toやbutton_toを使用して画像にリンクを貼る方法はございますでしょうか?

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

  • ベストアンサー
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.7

>2)carts/indexでは、スクリプトが表示されていませんでした^^; とりあえず、POSTが送信されない原因が判明しましたので、よかったです。 ではなぜ、この画面を表示した場合のみ、rails.jsがブラウザへ転送されないのかが、 問題になります。 通常は、/app/views/layouts/の下に application.html.erbが存在し、 そのapplication.html.erbから個々のxxxx.html.erbが呼び出されます。 application.html.erbの内容は、 通常、以下のようになっています。 <!DOCTYPE html> <html> <head> <title>そのアプリケーションのタイトル</title> <%= stylesheet_link_tag :all %> <%= javascript_include_tag :defaults %> <%#= javascript_include_tag :all %> <%= csrf_meta_tag %> </head> <body> <%= yield %> </body> </html> 上記の<%= javascript_include_tag :defaults %> で、rails.js等が取り込まれ、ブラウザに送られるはずです。 carts/indexの場合のみ、application.html.erbが呼び出されていないようにみえます。 意図的に呼び出さないようにしている場合は、問題ありませんが、 そうでない場合は、application.html.erbが呼び出されるようにすべきです。 また、/app/views/layouts下には、application.html.erbのほかに 別のテンプレートファイル(xxx.html.erb形式のファイル)がありますでしょうか?

_rin
質問者

お礼

tatsu99様 ずばり/app/views/layouts下に application.html.erb cart.rhtmlがありました_l ̄l○ application.html.erbと同じように追加したら、先程の問題も解決できました。 /app/views/layouts/cart.rhtmlの記述ミスが今回の原因だったのですね。 ================================= *リンクに画像を貼った場合もアクションが指定できる事。 *そしてアクションがPOSの場合はjavascript(rails.js)で行われること。 *rails.jsはapplication.html.erbから呼び出されるようになっている事。 この問題はたくさんの事を勉強させていただきました。 本当にありがとうございましたm(_ _)m たくさんのお手間をおかけしました事をお詫び申し上げます。 そして最後まで原因を考えてくださった事、深くお礼と感謝を申し上げます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.6

>1.ブラウザでjavascriptが無効になっている。#有効になっております。chrome FireFoxの両ブラウザで確認。 >2./public/javascripts/ に rails.js が存在しない。#rails.jsは存在いたします。 >3./views/layouts/ にapplication.html.erb が存在しない。#application.html.erbも存在いたします。 確認ありがとうございました。 こちらでもchromeで確認しましたところStarted POSTが表示されましたので、ブラウザの 問題ではないようです。 1.念のため、確認ですが、rails.jsはブラウザへ転送されているでしょうか? chromeの場合、ツール→javascriptコンソールでrails.jsの内容が表示されるはずです。 もし、表示されないなら、rails.jsがブラウザへ転送されないのが原因です。 2.もし、表示されているなら、rails.js自体が古いのが原因かも知れませんので、 こちらで使用しているrails.jsで再度試験して頂けませんでしょうか? http://www4.gigafile.nu/v3/?b04e4d13265235dd497ad7ed92960201 にこちらで使用しているrails.jsが格納してありますのでダウンロードして、 あなたが使用しているrails.jsと置き換えた後、試験してください。 (もちろん現行のrails.jsはバックアップをとり、後で戻せるようにしておいてください。) 以上が、最後の確認になります。

_rin
質問者

お礼

tatsu99様 いつもご教授ありがとうございます。 tatsu99さん、rails.jsを確認しましたところ、いくつかの発見がございました! (スプリクトはfirebug等のツールで確認しております) 1) products/index等ではスプリクトが表示されていました。 試しにここで問題のリンクをはってみたところ<%= link_to(image_tag~%> ルートを修正ぜずにStarted POSTになりPOST送信されました! 2)carts/indexでは、スクリプトが表示されていませんでした^^; =================================== carts/index.html =================================== この対策として、この一行を追加したら、スクリプトが表示されるようになり、 ルートを修正ぜずにログがStarted GETからStarted POSTの表示になりました! <%= javascript_include_tag :all %> <%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',{:method=>'post'}) %> ただ、<%= javascript_include_tag :all %>を追加する事で、問題点が出てきました。 <問題点> carts/index.html→carts/delivry.html carts/delivry.html で、カートに入れた商品名等が表示されなくなったのです^^; 例えば、 carts/indexでは以下を表示しています。 商品名:りんご 数量 :2個 価格 :200円 carts/delivry.htmlでは  商品名:りんご 数量 :2個 価格 :200円  + お届け先の情報を記入するフォーム となっているのですが、#<%= javascript_include_tag :all %>を追加する事で商品名等の情報が表示されなくなりました。 カート内の商品名や数量や価格等の情報は、一旦セッションに格納されています。 つまり、セッションに格納されたデータをcarts/delivry.html以降のページでは表示できなくなるという状態なのです。 この対策方法を現在模索中ですが、 (まだrails.jsの書き換えによる対策はまだ試していませんので、こちらも一旦試験してみようと思います) <%= javascript_include_tag :all %>を追加する事で、スプリクトが表示されるようになりましたので 一旦ご報告させていただきます。 tatsu99さんの「rails.jsがブラウザへ転送されないのが原因」というご指摘とおりでした^^; 色々とお調べいただきまして、本当にありがとうございましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.5

>URLを確認してみましたところ ><%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',{:method=>'post'}) %> ↓POSTのURLを生成してくれてました。({}で囲まないパターンでも一緒同じURLでした) ><a href="/carts/delivery" data-method="post" rel="nofollow"> >Started GET "/carts" for 127.0.0.1 at 2011-08-14 22:10:33 +0900 ご確認、ありがとうございました。 正しく、POSTが送信されない(Started POST "/carts/delivery"にならない)原因が、判明しました。 結論から言いますと、 <a href="/carts/delivery" data-method="post" rel="nofollow">のタグから POSTを送信するのは、javascript(rails.js)の役目です。 詳細は下記のURLを参照ください。 http://www.oiax.jp/rails/rails3/finish_task.html この中で、 <a href="/tasks/1/finish" data-method="put" rel="nofollow">完了</a>この a タグがちゃんと「動く」のは、Rails 3.0 で 導入された /public/javascripts/rails.js が存在するためです。 JavaScript に詳しい方は、中身を覗いてみると面白いでしょう。 の記述がありました。 従って、考えられる原因は 1.あなたのブラウザでjavascriptが無効になっている。--->有効にすれば、解決。 2.上記でだめなら、 /public/javascripts/ に rails.js が存在しない。 3.上記のrails.jsがあるなら、 /views/layouts/ にapplication.html.erb が存在しない。 が考えられます。 (項番2,3は正しい手順で、アプリケーションを作成すれば、自動的に作成されるはずです。) 上記の1,2,3について確認して頂けませんでしょうか?

_rin
質問者

お礼

tatsu99様 いつもご教授ありがとうございます。 Started POSTにならない原因をお調べいただき、ありがとうございます。 ご指示通りに1,2,3の手順で確認してみましたが、 やはり同じくルートを修正しないとUnknown actionのエラーが出ます。 Unknown action The action 'show' could not be found for CartsController javascriptの原因ではなさそうです。。 1.ブラウザでjavascriptが無効になっている。#有効になっております。chrome FireFoxの両ブラウザで確認。 2./public/javascripts/ に rails.js が存在しない。#rails.jsは存在いたします。 3./views/layouts/ にapplication.html.erb が存在しない。#application.html.erbも存在いたします。 私もググッてみたのですが、明確な答えがでてこなかっったので 以前教えていただいた、Ruby on Rails wikiのサイトでこの疑問を質問してみました。 レスポンスが来ましたら、またご報告させていただきます。 いつもご丁寧にありがとうございますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.4

こちらの環境は windows-7 Rails 3.0.7 ruby 1.9.2p180 です。 こちらでは、 Started POST "/carts/delivery" for 127.0.0.1 のメッセージが表示され、HTTPメソッドはPOSTでサーバーに送っていることが確認されるのですが、 そちらの環境では、 Started GET "/carts/delivery" for 127.0.0.1 となっておりますので、HTTPメソッドはGETでサーバーに送っていることになります。 従って、ルート制御の問題でないことは明らかです。 個人的な想像ですが、 <%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',:method=>'post') %> を私の環境では、最終的に <a href="/carts/delivery" rel="nofollow" data-method="post"> にrailsが展開してくれるのですが、 あなたの環境では、 <a href="/carts/delivery" rel="nofollow" data-method="get"> になっていると考えられます。 つまり、 ,:method=>'post'の部分が正しく反映されていないと考えられます。 なぜ、そのなるのかは、残念ながら私のスキルでは、判断できません。 railsのバージョンによる違い、または(可能性は薄いですが)MacとWindowsによる違い、 または、railsのバグが考えられます。 一応、最後の確認になりますが、 <%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',{:method=>'post'}) %> (:method=>'post'の両端を{}で囲む) とされた場合は、どうなりますでしょうか? これでも、だめだとすると、申し訳ありませんがギブアップになります。

_rin
質問者

お礼

tatsu99様 いつもご教授ありがとうございます。 :method=>'post'の両端を{}で囲む方法で試してみましたが、やはり同じエラーが出ます^^: URLを確認してみましたところ <%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',{:method=>'post'}) %> ↓POSTのURLを生成してくれてました。({}で囲まないパターンでも一緒同じURLでした) <a href="/carts/delivery" data-method="post" rel="nofollow"> Started GET "/carts" for 127.0.0.1 at 2011-08-14 22:10:33 +0900 つまり、HTTPメソッドはGETでサーバーに送ってますが、生成されるURLがPOSTのためエラーが発生してるという事でしょうか?^^: 奥が深いですね^^; 前に教えていただいたコミュニティ等で聞いてみて、原因を調べてみようと思います。 tatsu99さんがこの問題を追求してくださったおかげで、なんだか楽しくなってきました。 原因が分かりましたら、ご報告させていただきます。 ありがとうございましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.3

>教えていただいたコードで試してみましたが、やはり同じUnknown actionのエラーがでました^^; >ルートを修正するのが無難な方法でしょうか?^^; <%= link_to(image_tag('/images/cart_next.png',:alt =>'購入する', :size =>'180x40'),'/carts/delivery',:method=>'post') %> こちらでは、上記のコードで正しく動作しています。 念のため確認ですが、 <%= button_to "購入する" , :controller => 'carts', :action => 'delivery' %> をクリックしたときは、正しく動作していますか。 もし、button_toも正しく動作しないならルートの修正を正しく元に戻していないことになります。 <%= button_toが正しく動作している場合は、原因がよく判りません。 その場合、サーバー側では、どのようなメッセージが出力されていますか? こちらでは、 link_toの場合、 Started POST "/carts/delivery" for 127.0.0.1 at 2011-08-12 23:10:04 +0900 Processing by CartsController#delivery as HTML Parameters: {"authenticity_token"=>"qTfXVieCUOrowky0wop+3lWz3cpdVVU7EzRqB8CQzZE="} Rendered text template (0.0ms) Completed 200 OK in 1ms (Views: 0.0ms | ActiveRecord: 0.0ms) button_toの場合 Started POST "/carts/delivery" for 127.0.0.1 at 2011-08-12 23:10:55 +0900 Processing by CartsController#delivery as HTML Parameters: {"authenticity_token"=>"qTfXVieCUOrowky0wop+3lWz3cpdVVU7EzRqB8CQzZE="} Rendered text template (0.0ms) Completed 200 OK in 0ms (Views: 0.0ms | ActiveRecord: 0.0ms) のようなメッセージが出力されます。 このようなメッセージの内容を教えていただけませんでしょうか? (こちらのテスト環境はWindows-7 でWEBrick(rails serverコマンド)を使用しています。)

_rin
質問者

お礼

tatsu99様 いつもご教授ありがとうございます。 私の方の環境は =============== MacOS Ruby1.9.2 Rails3.0.4 rails s コマンドでseverを起動させています。 =============== button_toでは正しく作動しております。 ====================== <button_toの場合> ====================== <%= button_to "レジに進む" , :controller => 'carts', :action => 'delivery' %> resources :carts do  #ルートはdeliveryのみ書いております。 collection do post :delivery end end ******************************************** Started POST "/carts/delivery" for 127.0.0.1 at 2011-08-14 10:42:50 +0900 Processing by CartsController#delivery as HTML Parameters: {"authenticity_token"=>"b+OXq1kneBpn2Nhd1wM6AyvY+w0zbYTWzw6IPfWH7oY="} Rendered carts/_cart_item.html.erb (11.4ms) Rendered shared/_header.rhtml (0.6ms) Rendered shared/_footer.rhtml (0.3ms) Rendered carts/delivery.html.erb within layouts/carts (29.4ms) Completed 200 OK in 91ms (Views: 32.5ms | ActiveRecord: 1.9ms) ====================== <link_toの場合> #エラーがでたログです ====================== <%= link_to(image_tag('/images/cart_next.png', :alt => 'レジに進む', :size=>'180x40'),'/carts/delivery',:method=>'post') %> ************************************************* Started GET "/carts/delivery" for 127.0.0.1 at 2011-08-14 10:32:52 +0900 AbstractController::ActionNotFound (The action 'show' could not be found for CartsController): Rendered .bundle/ruby/1.9.1/gems/actionpack-3.0.4/lib/action_dispatch/middleware/templates/rescues/unknown_action.erb within rescues/layout (0.8ms) ====================== <link_toでルートを修正した場合> #動作はしております。 ====================== match '/carts/delivery', :controller => 'carts', :action => 'delivery' resources :carts ******************************************** Started GET "/carts/delivery" for 127.0.0.1 at 2011-08-14 10:40:09 +0900 Processing by CartsController#delivery as HTML Rendered carts/_cart_item.html.erb (11.7ms) Rendered shared/_header.rhtml (0.9ms) Rendered shared/_footer.rhtml (0.3ms) Rendered carts/delivery.html.erb within layouts/carts (69.1ms) Completed 200 OK in 91ms (Views: 72.8ms | ActiveRecord: 2.4ms) ====================== class CartsController < ApplicationController ====================== carts_controllerの全コードです。 def index @cart = find_cart end def find_cart session[:cart] ||= Cart.new end def add @cart = find_cart @cart.add_cart_item(params[:id].to_i) @cart.select_quantity(params[:id],params[:product][:quantity].to_i) #プルボタンで選ばれた数字の処理 redirect_to :action => 'index' end def change_quantity @cart = find_cart @cart.change_quantity(params[:id],params[:cart_item][:quantity].to_i) redirect_to :action => 'index' end def delete_cart_item @cart = find_cart @cart.delete_cart_item(params[:id].to_i) redirect_to :action => 'index' end def delivery @cart = find_cart @addressee = Addressee.new() end def confirm @cart = find_cart @addressee = Addressee.new(params[:addressee]) unless @addressee.valid? render :action => 'delivery' end end def delivery_save @cart = find_cart @addressee = Addressee.new(params[:addressee]) @addressee.add_order_items_from_cart(@cart) if @addressee.save Email.test(@addressee,@cart).deliver render :action => 'delivery_save' else render :action => 'delivery' end end tatsu99さんの方では正しく動作されているのですね。 sessionの絡みかしら…^^; お手間もかかりますし、もし原因が分かりましたらご教授どうぞよろしくお願い致しますm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.2

>Unknown actionエラーが出たので、ルートがおかしいのかな?と思い 大変失礼しました、以下のようにして下さい。 <%= link_to(image_tag('/images/cart_next.png',:alt =>'購入する', :size =>'180x40'),'/carts/delivery',:method=>'post') %> これで、ルート修正せずに、解決するはずです。 >深い内容で質問したい事がでてきた時には >メールサポート(有料)をお願いできないでしょうか? 私は、そこまでのスキルは持っていませんので、代わりといっては何ですが、メーリングリストを 利用されてはいかがでしょうか。 http://www.ruby-lang.org/ja/community/mailing-lists/ ここの「ruby-list(日本語)」が良いかと思います。 私も、以前、参加していました。(今は参加していません) ruby作者の「まつもとゆきひろ」さんも時々、ここで発言していますので、 質は高く、結構活発にメールが飛び交っています。 参加した場合、メールの量が増えますので、その覚悟は必要になります。 また、ここはrubyが主体なのでruby on railsについてどこまで、質問可能かは 私もわかりません。(事前に一度、ruby on railsの問い合わせもOKかどうか、確認されて みればよいかと思います) もう1つの候補として、 http://wiki.fdiary.net/rails/ があります。 こちらは、そのものずばりなので、ruby on railsの場合は、こちらのほうが よいかも知れません。railsの勉強会の情報もあるので、それにも参加すれば、 さらに情報が入手しやすくなるかも知れません。 ここは、私は、参加したことがありませんので、参考情報として扱ってください。

_rin
質問者

お礼

ご教授ありがとうございます。 教えていただいたコードで試してみましたが、やはり同じUnknown actionのエラーがでました^^; ルートを修正するのが無難な方法でしょうか?^^; <%= link_to(image_tag('/images/cart_next.png',:alt =>'購入する', :size =>'180x40'),'/carts/delivery',:method=>'post') %> メールサポートの件は了解致しました。 こちらこそ無理を申し上げてすみませんでした^^; 「Ruby on RailsのWiki」こちらのサイトはいいですね! 早速、登録してみました。railsの勉強会にも参加してみようと思います。 ご親切にありがとうございました^^

全文を見る
すると、全ての回答が全文表示されます。
  • tatsu99
  • ベストアンサー率52% (391/751)
回答No.1

link_toの場合、以下のようにしてください。 <%= link_to(image_tag('/images/cart_next.png',:alt =>'購入する', :size =>'180x40'),{:controller => 'carts', :action => 'delivery',:method=>'post'}) %> 尚、submit_tagと同じ機能を画像で実現したい場合は <%= submit_tag "検索"%>  ・・・これを <%= image_submit_tag ('/images/xxx.png',:alt => '検索') %> ・・・このようにします。 追伸: 前回の質問に回答したとき、追加の質問をされましたが、それは解決しましたでしょうか。 回答をしようと思ったのですが、既に質問が締め切られていた為に、回答できませんでした。 もし、未解決であれば、再度、同じ質問を、新たに投稿してください。 今後は、追加の質問をした場合は、締め切らないようにしておいてください。 若しくは、更に質問がある場合は、締め切った後、新たに質問を投稿するようにしてください。

_rin
質問者

お礼

tatsu99様 _rinです。 いつもご教授ありがとうございます。出来ました! <%= link_to(image_tag('/images/cart_next.png',:alt =>'購入する', :size =>'180x40'),{:controller => 'carts', :action => 'delivery',:method=>'post'}) %> 実装してみましたら、 Unknown actionエラーが出たので、ルートがおかしいのかな?と思い ルートを修正してみましたがこの方法で合っておりますでしょうか?(動作はしております。) エラー内容 Unknown action The action 'show' could not be found for CartsController 修正前のルート↓ resources :carts do collection do post :delivery end end 修正後のルート↓ match '/carts/delivery', :controller => 'carts', :action => 'delivery' resources :carts ================================== ベストアンサーを選択すると、ご回答いただけなくなるのですね^^; 前回の応用の質問も、回答しようとしてくださっていたのですね。 ありがとうございます。 また失礼をお詫び致しますm(_ _)m 再度、投稿させていただきますので、またお手すきの時にでもご教授いただけると幸いです。 PS こちらの「質問!ITmedia」では、ご好意でご回答をいただき大変嬉しく思います^^ とても分かりやすい説明なので、理解が深まってきて、ここ最近成長できてる気がしています。 また、改めてお尋ねさせていただきますが、 メールでお尋ねしたい内容の時や、プラグインや jQueryを使った場合等 深い内容で質問したい事がでてきた時には メールサポート(有料)をお願いできないでしょうか? 厚かましいお願いですので、無理な場合はスルーしてください^^:

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • rails3初心者 検索結果を並べ変えたい

    検索結果で表示されたリストを、並べ替えができるようにしたいです。 現在はリンク先をクリックしても、実装できていません。 どこのコードがおかしいのかご教授いただければ幸いですm(_ _)m ======================= views ======================= <%= link_to "安い順", :action => 'low' %> <%= link_to "高い順", :action => 'high' %> <% @products.each do |product| %> 商品名<%= product.code %> 金額<%= product.price %> <% end %> ======================= controller.rb ======================= def check @product = Product.all   render :action => 'check' end def low @products = Product.find(:all, :order => "price ASC") render :action => 'check' end def high @products = Product.find(:all, :order => "price DESC") render :action => 'check' end ご教授よろしくお願い致します。

    • ベストアンサー
    • Ruby
  • 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
  • Railsで500サーバーエラー

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

    • ベストアンサー
    • Ruby
  • rails3初心者 金額から絞り込み検索

    rails3を勉強中です。 ご教授いただけば幸いです。 実装したい事: DBに登録してあるproductsの一覧から金額を指定して絞り込み検索をしたい 解決してない事: indexに検索結果が表示されません。 コードの書き方をご教授いただければ幸いです。 ==================== views: ==================== <%= form_tag ({:controller => :products, :action => :search_price }), {:method => :post} do %> 価格指定 <%= text_field_tag "price1" %> ~  <%= text_field_tag "price2" %> <%= submit_tag "検索"%> <% end %> ==================== products_controller.rb ==================== def search_price @products = Product.all @product = Product.new @products.each do |product| item = product.price >= params[:price1].to_i && product.price <= params[:price2].to_i if item @product = product end end render :action => 'index' end ==================== views/products/index.html ==================== <% @products.each do |product| %> <%= product.name %> <%= product.price %> <% end %>

    • ベストアンサー
    • Ruby
  • 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
  • railsでアプリケーションコントローラーで宣言し

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

  • rails3初心者 複数の絞込検索

    絞り込み条件で、メーカーやカテゴリを選択してから 金額指定があれば、金額指定も含めて検索結果を実装する事はできますか? またボタンは1個にする形にしたいです。 よろしくお願い致しますm(_ _)m 絞込み検索内容 ========== ・メーカー (チェックボックス式) ・カテゴリ (チェックボックス式) ・金額指定 ========== ==================== views: ==================== <p>条件検索(複数選択可)</p> <%= form_tag ({:controller => :products, :action => :check }), {:method => :get} do %> <p>メーカーから探す</p> <% Maker.all.each do |maker|%> <%= check_box_tag "maker_id[]", maker.id, (params[:maker_id].include?(maker.id.to_s) if params[:maker_id]) %> <%= maker.maker_name %><br /> <% end %> <p>カテゴリから探す</p> <% Category.all.each do |c| %> <%= check_box_tag "category_id[]", c.id, (params[:category_id].include?(c.id.to_s) if params[:category_id]) %> <%= c.name %><br /> <% end %><br /> <%= submit_tag "検索"%> #このボタンを外してひとつのボタンにしたいです。 <% end %> <p>金額を指定して絞り込む</p> <%= form_tag ({:controller => :products, :action => :search_price }), {:method => :post} do %>  <%= text_field_tag "price1",(params[:price1] if params[:price1]) %> ~   <%= text_field_tag "price2",(params[:price2] if params[:price2]) %> <%= submit_tag "検索"%> <% end %> ==================== products_controller.rb ==================== def check @product = Product.all if params[:maker_id] && params[:category_id]   # 両方選択された場合 @products = Product.where(:category_id => params[:category_id], :maker_id => params[:maker_id] ) elsif params[:maker_id]   #makerが選択された場合 @products = Product.where(:maker_id => params[:maker_id]) if params[:maker_id] elsif params[:category_id]   #カテゴリが選択された場合 @products = Product.where(:category_id => params[:category_id]) if params[:category_id] elsif params[:maker_id] == nil && params[:category_id] == nil   #両方ともチェックがなかった場合 @products = Product.all end render :action => 'check' end def search_price @products = Product.where('price >=? AND price <=?', params[:price1],params[:price2]) @products = Product.where('price >=?', params[:price1]) if params[:price2].blank? @products = Product.where('price <=?', params[:price2]) if params[:price1].blank? render :action => 'index' end ややこしくてすみません^^; どうぞよろしくお願い致します。

    • ベストアンサー
    • 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
  • rails3初心者 検索対象に別テーブルも含めたい

    ご教授よろしくお願いします。 <実装したい事> productテーブルからmakerテーブルのmaker_nameカラムも検索条件に含めたい。 (productテーブルの検索対象カラムは:codeとname ) (makerテーブルの検索対象カラムは:maker_name ) 以下のコードで試してみましたが、実装できません。 ========================= views ========================= <%=form_tag({:controller => :products,:action => :search}, :method => :get) do %> <%= text_field_tag "search_form",params[:search_form],:size =>25 %> <%= submit_tag '商品検索' %> <% end %> ======================================== products_controller.rb ======================================== def search @products =Product.find(:all, :include => :maker, :conditions =>['maker.maker_name like :value or code like :value or name like :value', {:value=> '%' +params[:search_form]+ '%'}]) end ======================================== リレーションシップ ======================================== product.rb belongs_to :maker **************************** maker.rb has_many :products **************************** どうぞよろしくお願い致します。

  • 月日リンク付きカレンダーを年月日リンクに修正する

    (昨日と同じ質問ですが、表示されたカレンダーの画像を添付します。) 自分のブログに使用するため、JavaScriptのリンク付きカレンダーを修正中です。 今、月日リンクを年月日リンクに修正しようとしていますがどうしても上手くいきません。 リンクに関わる部分を抜粋すると下記のようになります。 //リンクを設定 function linkdaySet(MM,DD){ this['link' + MM + 'MM']['ok'] = "ok"; this['link' + MM + 'MM']['d' + DD] = new Array; } for(i=1; i<=12; i++){ this['link' + i + 'MM'] = new Array; this['link' + i + 'MM']['ok'] = ""; } //ユーザー設定領域 //linkdaySet(月,日) linkdaySet(6,1); linkdaySet(6,6); linkdaySet(6,10); //カレンダー作成領域 //スキャン中の日付にリンク設定があるならば、日付ブロックをリンク仕様にする if(this['link' + (theMonth + 1) + 'MM']['ok'] == "ok" && this['link' + (theMonth + 1) + 'MM']['d' + dateNum]){ calenData += '<span style="position:relative; display:block; z-index:' + zNum-- + ';">'; linkdaySet()にYYを追加しthis[]にYY情報を入れ込みたいのですが、どうしてもエラーになってしまいます。Webでも相当調べましたがthis[]のこのような使い方が見つかりません。 ほとほと困り果ててしまいました。ご教授よろしくお願いします。

このQ&Aのポイント
  • 昭和20年9月2日、東京湾の戦艦ミズーリ号上で降伏文書の調印式が行われ、日本軍が降伏しました。
  • その1週間後の9月9日、大湊湾洋上のアメリカ軍艦パミナント上で占領命令書に署名が行われました。
  • 大湊湾洋上での儀式は、日本軍の各部隊に降伏の事実を伝えるため、重要な意味を持っていました。
回答を見る

専門家に質問してみよう