sumisyuのプロフィール

@sumisyu sumisyu
ありがとう数1
質問数0
回答数2
ベストアンサー数
1
ベストアンサー率
100%
お礼率
0%

  • 登録日2010/05/14
  • 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 コンボボックスの値の保持について(select_tag,c

    Rails コンボボックスの値の保持について(select_tag,collection_select) こんにちは。 Ruby on Railsで簡単な一覧検索画面を作成中の者です。 検索時の検索条件にコンボボックスを使用しており、検索後にコンボボックスの値を保持したいのですが、どうしてもできません。 どなたかお分かりの方がおられましたらご教授いただけないでしょうか。 下記、作成中のソースです。 Viewの検索条件部 <%- form_tag({:action => "search"},{:method=> "GET"}) do -%> <th class="U" align="left" width="10%"><label for="userNm">ユーザー名</label></th> <td width="90%"><%= text_field_tag :userNm, @userNm %></td>  <th class="U" align="left" width="10%"><label for="authCd">社員権限</label></th> <td width="90%">  <%= collection_select(:auth, :authCd, Auth.find(:all, :order => "AUTH_CD"), :id, :AUTH_NM, :include_blank => true) %>  <td align="center"><%= submit_tag '検索' %></td> Controllerクラス: def search #画面パラメータから検索条件を作成 c = Condition.new # ユーザー名 userNm = "" if params[:userNm] userNm = params[:userNm] c.and "USER_NM", "LIKE", "%#{userNm}%" end # コンボボックスの値を取得 if params[:auth] && !params[:auth]["authCd"].blank? c.and "AUTH_CD", params[:auth]["authCd"] end # 検索処理 @users = User.paginate(:order => "USER_ID asc", :per_page => 5, :page => params[:page], :conditions => c.where) # 検索条件保持 @userNm = params[:userNm] # コンボボックスの値が保持できない if params[:auth] @auth_authCd = params[:auth]["authCd"] end respond_to do |format| format.html # index.html.erb format.xml { render :xml => @users } end end 見づらくて申し訳ありませんが、ざっと上記のようになっています。 もう1つの検索条件であるユーザー名(userNm)は保持できるのですが、コンボボックス(社員権限)の値が保持できません。 select_tagや、selectも使ってみたのですが、どちらも同じ結果でした。 コンボボックスの条件は、Authモデルから値を読込み、一番上は空白にする。というものです。 どのように記述すれば保持できるのか色々調べてみたのですが、結局分からず仕舞いでした。。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • moyashi_1
    • Ruby
    • 回答数1