• ベストアンサー

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

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

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

  • ベストアンサー
noname#149362
noname#149362
回答No.1

'sex' が何型なのか分かりませんが、もし整数型なのだとしたら、1, 2 が文字列型であることが原因でしょう。 <%= select 'member', 'sex', [["男", 1] , ["女", 2]] %> であればうまくいくと思いますが、いかがでしょうか。 なお、質問する際には、 rails --version gem --env といったあたりの出力を添えておくと、回答が得やすくなると思われます。

参考URL:
http://wiki.fdiary.net/rails/?ActionViewHelper
ykazunori
質問者

お礼

早速の返答ありがとうございました。 ご指摘いただいたとおり、型の違いによるものでした。 とても助かりました。

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

関連するQ&A

  • 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

  • Ruby on Rails オススメの本

    CookpadさんのHPがRubyでできているとお聞きしました。 こういったサイトを作るには、やはりRubyを知っておくと良いのでしょうか? CookpadさんのHPではないのですが、食べログみたいなサイトを作りたいと思っているのですが、Ruby on Railsでできるのでしょうか? Rubyは入門書を読んだ状態で、Ruby on Railsは、学んだことがないのですが、オススメの本とかありますでしょうか? 詳しい方いらっしゃいましたら、教えてください。 よろしくお願い致します。

    • ベストアンサー
    • Ruby
  • Ruby on Rails をcoreserverにインストールしたの

    Ruby on Rails をcoreserverにインストールしたのですが動きません。色んなサイトを参考にしたのですが、ほとんどのサイトはインストールまでしか記載されていないです。 サイトによってcoreserverはRuby on Railsに対応しているor対応していないと記載されており実際対応しているのか知りたいです。 サポートに連絡しても、ネットで調べてくれと突き返えされました。もしcoreserverがRuby on Railsに対応していなければ、月1000円以下のレンタルサーバーで対応している会社があれば教えて頂ければと思います。

  • Ruby on rails のモデルオブジェクト

    Ruby on Rails を勉強しているんですが、細かいところで @member = Member.find(1) という風に作成したモデルオブジェクトについてですが、 @memberとういう変数から、Memberモデルの主キー名を取得することができるでしょうか。 ※または、@memberから、Memberクラスが取得できるか。 @member.reflectionsなど、いろいろためしましたができませんでした。 お分かりの方がいらっしゃいましたら、是非お教え願えないでしょうか。

    • ベストアンサー
    • Ruby
  • 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インストール(アップデート)

    Ruby on Railsインストール(アップデート) RailsをCentOS4.4?にインターネット経由以外でのインストールする方法を知りたいです。 下記に条件を記載させて頂きますので、本当に申し訳ありませんが、 ご教授していただけますでしょうか? 無知で申し訳ありませんがよろしくお願いします。 ■現状  サーバOS CentOS4.4  Ruby 1.6.x  gem 0.9x??  rails 1.x  mysql4.1  sqlite3 ■条件  ・会社のサーバなので、インターネットが使用できない。  ※CDやUSBも無理です。   やり方としては、ソースを会社のメールアドレスに送り   自分の端末からFTPでサーバにアップロードします。   また、上長には許可は頂いています。  ・現状古いバージョンのRuby・RubyGems・Ruby on Railsは   インストールされていますが、アップデートよりは、   上書きインストールの方が望ましい。   ※理解し易いため。    初心者のためアップデートは難関かとm(--)m ■今回インストール(アップデート)したい物  Ruby on Rails 2.x ----以下は、ダウンロード済み----  Ruby 1.8.7  ※こちらは、色々なサイトに記載されています参考にしています。  RubyGems  ※これは、RubyForgeからダウンロード済み ■気になる点  ほかにインストールしなければならないものってありますでしょうか? 教えて君で申し訳ありませんが、よろしくお願いします。

    • ベストアンサー
    • Ruby
  • ruby on railsでフォームに1種類の入力項目を複数作成する方法

    プログラミングの初心者で現在ruby on railsを勉強しています。 その中で複数のエントリーを一括で登録できるようにするサンプルを 探し、railsレシピブック183の技の中にある recipe-101「フォームに1種類の入力項目を複数作成する」 を見つけたのですが、あまり理解できず、うまくいきませんでした。 そこでお願いしたいのですが、 初心者でもわかりやすいサンプルなどが掲載されてる本や ホームページがありましたら教えていただきたいです。 よろしくお願いします。

  • Ruby on Rails のインストールについて

    『基礎 Ruby on Rails』という本を読んでいますが、 インストールできずに困っています(Macintosh使用者です)。 macportsをダウンロードして、 ターミナルでRubyとRubyGemsを入れました。 そのあと、 sudo gem install rails --version "~> 3.2.3" --no-rdoc --no-ri を実行するとつぎのエラーが表示されてできない状態です。 ERROR: Could not find a valid gem 'rails' (>= 0) in any repository ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError) Errno::ECONNREFUSED: Connection refused - connect(2) (http://rubygems.org/latest_specs.4.8.gz) よろしくお願いします。

  • 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でアプリケーションを作りたいんですが、phpMyAdminでデータベース表の作成がうまく行かないです。

    Ruby on Railsの利用できる環境を構築します。 Ruby、Rails、データベース、Webサーバの4つをまとめてセットにしてしまったソフト【InstantRails】を使用します。 バージョン:InstantRails-2.0-win.zip をダウンロードしました。 そこで、Ruby on Railsでアプリケーションを作成して見ます。 まずは、データベース表を作成します。 【Instant Rails】ウィンドウでApacheボタンをクリックし、メニューからStartを指定しましたが、Start状態に変わってないのです。 いろいろ調べましたが、原因がわかりません。 すごく困ってます。 ご指導をお願いいたします。

このQ&Aのポイント
  • 遺産分割の件で弁護士からの調停の受任書が届きましたが、母と連絡を取ったという主張に矛盾があります。
  • 弁護士に虚言をつかれている状況に困っています。このような場合、弁護士会に相談することをおすすめします。
  • 弁護士からの虚言に対して、すぐに行動することが重要です。弁護士会に連絡し、相談してください。
回答を見る