• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:railsでtime_selectを利用すると処理がおかしい)

railsでtime_selectを利用すると処理がおかしい

このQ&Aのポイント
  • railsのtime_selectで作成したフォームの値でDBへのInsertやUpdateが上手くいきません。
  • フォームで受け取った時間の部分が正しくDBに保存されない問題が発生しています。
  • 根本的な原因は不明ですが、hidden_field_tagで(6i)を作成したり、time_selectのinclude_secondsを有効にすると正常になります。

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

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

>>根本的な原因は何なのでしょうか? (rubyは1.8.7、railsは2.2.2です。) 単純にtime_selectを使用したフォームを使って、DBへのUpdateを行った場合、こちらでは、問題が発生していません。Controllerでは何も指定しない場合です。(ruby 1.8.6,rails 2.3.2) なので、もしかすると、Controllerの中で自分で細工する場合、きちんと(6i)までの指定が必要になるのかも?

noname#176600
質問者

お礼

ありがとうございます。 原因がよくわからなかったので、 Controllerで強引に値を整形することにしました。

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

関連するQ&A

  • railsのControllerでフォームの値を取得

    railsのscaffoldで作成したnew.html.erbのページに日付や時間を入力できるselectboxを複数個作成し、 その値をControllerで取得したいのですがどうすればよいでしょうか? date_selectやtime_selectを使うとviewは簡単に作成できるのですが、 selectboxが複数個あり、(1i)、(2i)のように変数がControllerにくるので上手く取得する方法が分かりません。 (for文を使ってnameをdate1、date2とかにしておいて、 Controllerでそれを指定、後はハッシュからデータをとるしかないですか?) 以上、よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • railsでのデータベースエラー

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

  • Railsで作ったものにdispatch.cgiがない

    Ruby on Railsで作成したものをApacheで動かそうとしたのですが、 「public/dispatch.cgi」などのファイルが存在しませんでした。 「.htaccess」も作成されていないようです。 InstantRails(Rails 2.0.2)で作成したものには上記ファイルは存在します。 何か必要なものがあるのでしょうか? 環境 -Windows XP + coLinux -Debian 5.0.2 -ruby 1.8.7 -rails 2.3.3 railsはapt-getとgemと両方入れています。 (どこかのサイトを参考にしたのですが、失念してしまいました・・・。) 入力 $ cd /var/www/rails $ rails myapp $ cd myapp $ script/generate scaffold note line:string $ rake db:migrate ls -a publicの結果 . 404.html 500.html images javascripts stylesheets .. 422.html favicon.ico index.html robots.txt

  • ruby on railsについてなのですが、scaffoldで入力フ

    ruby on railsについてなのですが、scaffoldで入力フォーム、一覧表示、詳細表示を作成しました。 そこで、一覧表示の際、テーブルのカラムに存在しない番号を一番左に表示させたいと考えています。3件存在すれば、上から1,2,3とういようにです。テーブルのIDを表示するとIDの1を削除した場合、2,3,4となってしまうので、3件あれば、必ず、1,2,3としたいのです。 環境は以下のとおりです。 ruby1.8.6 rails 2.3.5 db:mysql gems:1.3.5 よろしくお願いします。

  • Ruby on railsのフォームでSelectの値をDBから取得できない

    ruby on railsのフォームで以下のように書いたのですが、 <%= select 'member', 'sex', [ [ "男", "1" ] , [ "女", "2" ]] %> 新規登録時には問題なく登録されるのですが、編集する際に、新規登録時に 女を選んだにもかかわらず、男が選ばれた状態になってしまいます。 編集時に女が選ばれた状態にするにはどこをどのように修正すればいいのでしょうか? よろしくお願いします。

    • ベストアンサー
    • Ruby
  • Rails javascriptが動かない

    Railsのフォームにプルダウンメニューを配置して、選択されるとjavascriptでアラートを 表示したいのですが、うまく動作してくれません。 どなたか、お詳しい方がいらっしゃいましたら、ご教授願います。 form.html.erb ------------------------------------------------------------------------------------------------------ <%= javascript_tag do %> $(function(){ //コースを選択する $("#course_id").change(function(){ window.alert("test!!"); }); }); <% end %> <%= form_for ・・・・・ <%= form.select :course_id, @courses %> <% end %> ------------------------------------------------------------------------------------------------------ 【環境】 Ruby 2.2.2 Rails 4.0.13 以上、宜しくお願いします。

    • ベストアンサー
    • Ruby
  • Ruby on Rails について

    Ruby on Railsでアプリケーションを作ります。 バージョンは:InstantRails-2.0-win 1、データベース表の作成: データベース名:myapp   テーブル名:peoples データベースを作成したら、MySQLを再起動します。 2、新規アプリケーションの作成: アプリケーション名:myapp Instant RailsウィンドウのIボタン⇒Rails Applications⇒Manage Rails Applicationsをクリックします。 Rails ApplicationsダイアログボックスのCreate New Rails App・・をクリックします。 コマンドプロンプト画面が表示されます。 rails myapp を入力します。 コマンドプロンプトのプロンプトが入力状態になって、コマンドプロンプトを閉じます。 Rails ApplicationsダイアログボックスのRefresh Listボタンをクリックしたら、myappアプリケーション名が追加されます。 3、アプリケーション・モデルの作成: InstantRails-2.0-winフォルダ ⇒ rails_apps ⇒ myapp ⇒ config ⇒ datebase.yml ファイルを開きます。 ↓に書き換えます。 development: adapter: mysql database: myapp timeout: 5000 username: root host: localhost   Instant RailsウィンドウのIボタン ⇒ Rails Applications ⇒ Open Ruby Console Windowをクリックします。 コマンドプロンプトが開きます。 cd myapp ruby script/generate model people を入力します。 4、コントローラの作成: コマンドプロンプトを開きます。 cd myapp ruby script/generate controller people を入力します。 コマンドプロンプトを閉じます。 InstantRails-2.0-winフォルダ ⇒ rails_apps ⇒ myapp ⇒ app ⇒ controllers ⇒ people_controller.rb ファイルを開きます。 class PeopleController<Application Controller scaffold :people ←←追加した行です。 end 5、新しいアプリケーションを起動 Rails ApplicationsダイアログボックスのRails Applications 欄の myappの所をチェックし、Start with Mongrelボタンをクリックします。 コマンドプロンプト画面が起動し、ポート番号が表示されます。 Webブラウザを起動し、アドレス欄に 一つは: 「http://localhost:people/list」を入力し、Enterキーを押します。 ↓Errorメッセージが表示されました。 NoMethodError in PeopleController#list undefined method `scaffold' for PeopleController:Class RAILS_ROOT: C:/taiyo/INSTAN~1.0-W/rails_apps/myapp   一つは: http://localhost:3000/people Enterキーを押します。 ↓Errorメッセージが表示されました。 NoMethodError in PeopleController#index undefined method `scaffold' for PeopleController:Class RAILS_ROOT: C:/taiyo/INSTAN~1.0-W/rails_apps/myapp どこの手順が違ってるのが解らなくて、 Errorの解決方法ですごく困ってます。 どうかご指導をお願いいたします。 もう一つはErrorメッセージの3行目は C:/taiyo/INSTAN~1.0-W/rails_apps/myappですけど、 InstantRails-2.0-winフォルダのはずですけど、 INSTAN~1.0-Wフォルダになった原因がよくわからないです。 すごく困ってます。 ご指導お願いいたします。

  • Ruby on Railsで入力フォームを作成しています。

    Ruby on Railsで入力フォームを作成しています。 そこで、入力されたid(table.id)と商品名カラム(table.product_id) を結合して商品ID(table.product_number)を 登録時に商品IDカラムに登録できないかと思っています。 商品名カラムは商品テーブルから読み込んでいます。 恐らく、callbackのしくみを利用すればできるのではないかと 思っているのですが、やり方がわかりません。 以上、よろしくお願いします。 環境は以下のとおりです。 ruby1.8.6 rails 2.3.5 db:mysql gems:1.3.5

  • Rails 3 での動的更新について

    Ruby on Rails 3 を利用してウェブ開発をしているのですが、Rails 2 の時に利用できた動的更新が出来なくて困っています。 今回の質問の動的更新とは、テキストフィールドなどに入力があるとそれを検知して、コントローラー内の処理を呼び出して結果をページの一部として表示する、というものです。 Rails 2 の時には以下のようにしていました。 <script language="JavaScript"> <!-- function ShowRule() { $("#show_value").load("/[コントローラー名]/[メソッド名]?[パラメーター]="+document.[フォーム名].[ポスト名].value); } //--> </script> 値を返したい部分に <div id="show_value"></div> を置き、入力を監視したい項目に :onclick => "ShowRule()" のオプションをつけていました。 同じように記述したのですが、Rails 3(というか jquery)だと上手く動きません。上記のような処理を jquery で行う方法をご教授ください。 よろしくお願い致します。

  • Railsのエラー

    Railsのエラーについての質問です。 コマンドプロントでデータベースを作成しようとしたところ、よくわからないエラーが発生してしまいました(><) >rake db:migrate と入力すると、 C:.../InstatntRails/ruby/bin/rake.bat:25:[BUG]Segmentation fault ruby 1.8.4(2005-12-24)[i386-mswin32] This application has requseted the Runtime to terminate it in an usual way. Please contact the application's support team for more infomation. と表示されてしまいます。。。 「ruby.bat」というファイルの25行目にバグがある? と思いファイルを確認してみました。 25行目は、 load 'rake' だけなのです! ちなみにMySQL5.0.22、ruby1.8.4,rails 1.1.0を利用しています。 バージョンが悪いのでしょうか? 初心者でしてよくわからい状況です。。。 詳しいかたがいましたら、ぜひアドバイスよろしくお願いします!!