Ruby

全875件中781~800件表示
  • RubyOnRailsのラジオボタン

    RubyOnRailsのラジオボタン 遅まきながらRubyOnRailsを勉強中です。 スーパーの商品のカテゴリを登録する画面です。カテゴリをラジオボタンで選択します。 主要部分、以下のコードで動きます。 ==== <% form_for(@item) do |f| %> <p> <%= f.label :name %><br /> <%= f.text_field :name %> </p> <p> <%= f.label :category_id %><br /> <label><%= f.radio_button "category_id",'1' %>野菜</lablel> <label><%= f.radio_button "category_id",'2' %>魚</lablel> <label><%= f.radio_button "category_id",'3' %>加工食品</lablel> <label><%= f.radio_button "category_id",'4' %>グロッサリー</lablel> </p> <p> <%= f.submit 'Update' %> </p> <% end %> ==== しかしこれは間違いです。理由はカテゴリテーブルがあり、そこから取得しなければなりません。 以下のように変更しました。 ==== <% @categories = Category.find(:all) %> <% form_for(@item) do |f| %> <p> <%= f.label :name %><br /> <%= f.text_field :name %> </p> <p> <%= f.label :category_id %><br /> <% for @category in @categories %> <label><%= f.radio_button "category_id","@cateroy.id" %><%= @category.name %></label> <% end %> </p> <p> <%= f.submit 'Update' %> </p> <% end %> ==== つまりテーブルから読んで、その値でラジオボタンを表示しました。 結果、画面は表示されます。 しかしsubmitして、itemにcategory_idが設定されません。 お分かりの方、よろしくお願いします。

    • ベストアンサー
    • Ruby
  • Rails:findの条件指定(複数キーワード)

    RailsもMySQLも初心者です。 簡単な検索モデルを作っていますが、次のようなfindメソッドを使った検索の条件指定で、"name"の部分に複数の検索語句をor条件で指定することはできますか?  @users = User.find(:all, :conditions => ["family_name LIKE ?", name]) 検索対象は文字列です。 ("name1" or "name2")とか("name1" || "name2")などとやってみたのですが、最初の検索語句しか認知してくれないようです。 もしできるのでしたら、:conditionsの部分をどのように書いたらいいか教えてください。 Railsのバージョンは1.1.2です。 よろしくお願いします。 ※先ほど勘違いして同じ質問をいったん削除してしまいました。  もしご覧になっていた方がいらしたら申し訳ありません。

    • ベストアンサー
    • Ruby
    • param08
    • 回答数1
  • チェックボックス

    Ruby on Railsを利用したオープンソースのCMS(Rubricks)で作成しているのですが。。 チェックボックスで複数選択した情報をDBへ保存する方法が分かりません。 【状況】 C コントローラ @kudamonos = Kudamono::KudamonoKind.find(:all) V ビュー <% @kudamonos.each do |kudamono| %> <span style="white-space:"> <%= check_box kudamonos",kudamono.id, :checked => nil %> <%= hl(kudamono.kudamono_name) %> </span> <% end %> check_box_tag はうまくいきません。。 DB mysql> select * from kudamono_kinds; +----+---------------+ | id | kudamono_name | +----+---------------+ | 1 | りんご | | 2 | みかん | | 3 | いちご | +----+---------------+ mysql> select * from kudamono_masters; +----+------------------+----------------+ | id | kudamono_name_id | select_buy_id | +----+------------------+----------------+ | 1 | 1 | 1 | | 2 | 2 | 1 | | 3 | 3 | 1 | +----+------------------+----------------+ select_buy_id  は今は無視して下さい。 チェックボックスですべてチェックした場合上記の用に保存したいです。 説明不足ですが、どなたか教えていただきらいです。

    • bkon
    • 回答数1
  • railsでtime_selectを利用すると処理がおかしい

    railsのtime_selectで作成したフォームの値でDBへのInsertやUpdateが上手くいきません。 具体的にはtime_selectでフォームを作成すると、 Controllerには以下のような変数がくると思います。 (1i) 2009 (2i) 05 (3i) 22 (4i) 10 (5i) 10 ただ、これをそのままDBへ送ると「XX:10:10」のように、 時間の部分が分に、分が秒になってしまい、時間の箇所にはよく分からない数字が入ります。 (DBへのInsert、Updateは「paramas[:Controller名]」で 取得したものをそのままcreate、update_attributesしています。) hidden_field_tagで(6i)を作成したり、 time_selectのinclude_secondsを有効にすると正常になるのですが、 根本的な原因は何なのでしょうか? (rubyは1.8.7、railsは2.2.2です。) ご存知の方はよろしくご教示願います。

    • ベストアンサー
    • Ruby
    • noname#176600
    • 回答数1
  • Railsで500サーバーエラー

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

    • ベストアンサー
    • Ruby
  • 【ruby】クラスCGIを改造して、クエリの文字コードを変えたい

    クエリパラメータを取得するのにCGIクラスを使っています。 Rubyのマニュアルでは『フォームフィールドの値を得る』として以下の様に記載してあります。 require "cgi" cgi = CGI.new values = cgi['field_name'] # <== 'field_name' の配列 私が使用しているサーバはWindowsサーバでして、取得したクエリ(フォームフィールド)は文字コードをs-jisに変換して使う事が大半です。 そこで、CGIクラスそのものを改造して、いちいちvalues.tosjisしなくてもよい様にしたいです。 実は以前に、同じような事を質問してまして(http://oshiete1.goo.ne.jp/qa4944090.html)alias を使えばこのようなことが出来るかなと思い、以下の様に書いてみました。(行頭は全角スペースです。) #!/usr/local/bin/ruby require 'cgi' require 'kconv' STDOUT.binmode STDIN.binmode class CGI  alias :initialize_orig :initialize  def initialize()   hash=initialize_orig()   hash.each do|key,val|    hash[key]=val.collect{|x|x.tosjis}   end   hash  end end cgi=CGI.new if cgi.has_key?('arg') then  STDERR.puts cgi['arg']  cgi.out(){'ok'} end 結果は `initialize': undefined method `each' for nil: NilClass (NoMethodError) で実行不可でした。 initializeはリターンできないからかな。 次に、 class CGI  alias :params_orig :params  def params()   hash=params_orig   hash.each do|key,val|    hash[key]=val.collect{|x|'*' + x + '*'}   end  hash end end などとも書いてみましたが、 undefined method `params' for class `CGI' で実行不可でした。 ご指導のほど、よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • 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の入っているレンタルサーバを

    Railsが入っているレンタルサーバーを探しています。 できればバージョンは2で さくらにインストールできるとの記事もありましたが、レンタルでなく専用サーバだから権限があり、実現できることで、廉価なレンタルサーバを探しています。 LHXというレンタルサーバがあるらしいのですが、評判が悪く、Ruby環境も...とのことで、いろいろ探しています。 ぜひ、些細な情報でも、知識でも、サイトでもいいので、お教えください! Railsで開発できるレンタルサーバがほしいです。

  • Rubyのコード埋め込みについてです

    <% form_for :toto, :@toto, :url => { :action => \'update\'} %> これをHTMLに組み込んでフォームを作ろうとしたのですが、 syntax errorになってしまいます。 <>←このタグが%から%まで我慢できずに、=>の>でブロックを終了してしまっています。 何か方法をご存じでしたらぜひご教授願います。

    • ベストアンサー
    • Ruby
  • C/C++でrubyファイルをrequireしたい

    いつもお世話になってます。 Rubyで作ったファイルをC/C++として実行できるようにしたいです。つまりruby_pro.rbを作ってc_pro.cのなかでrequire 'ruby_pro.rb'のようなことをしたいのですが、できますか? よろしくお願いいたします。

  • scaffoldは使えるのか

    Rubyでwebサイトを作成しようとしています。 とある本に「scaffoldして作るには手間がかかる。・・・」 とかいてありました。 自分としてはscaffoldを利用しようと考えていたのですが。 たくさんの画像データを扱うサイトです。 何か思うところがありましたらぜひ教えてください。

  • Ruby on Rails でプルダウン

    Ruby on Rails でプルダウンを使ったページを作ってます。 プルダウンを選択すると、別のプルダウンの内容が変更されるというものです。 それ自体はjavascriptを使えばできるのですが、プルダウンの内容はDBに保存されてあるものから引っ張って使いたいと思ってます。 javascriptではDBの内容は引っ張ってこれないと思うのですが、 Railsでこういうことができるのでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Ruby
  • scaffold

    Ruby on Rails に関して質問です。 scaffoldができません。 #rails rn2 -d mysql でrn2というDBができるのらしいですが、mysqlにログインしてDBを確認しても見つかりませんでした。 そもそも #ruby script/generate scaffold hogehoge name:string id:integer という記述を実行し、テーブルを作ろうとしていて、 「Missing the Rails 2.3.2 gem. Please `gem install -v=2.3.2 rails`, update your RAILS_GEM_VERSION setting in config/environment.rb for the Rails version you do have installed, or comment out RAILS_GEM_VERSION to use the latest version installed.」 となった問題を解決しようとしています。 railsは2.3.2で入っているのにこのエラーメッセージが表示されました。 参考になるサイトを教えていただけると幸いです。 よろしくお願いします。

  • 【ruby】クラスCGIを改造したい

    #!/usr/local/bin/ruby require 'cgi' require 'kconv' headers={ "status"=>"OK", "type"=>"text/html; charset=utf-8" } cgi=CGI.new hoge=cgi['arg'] cgi.out(headers){Kconv.toutf8(hoge)} 上記はcgiはクエリパラメータargに与えた文字列がUTF-8で表示される 物の基本骨格として記しました。 実際に作りたい物は、もう少し複雑で、cgi.outのブロックに渡す部分 は、ケースにより複数あります。 そこで、毎回ブロックに渡す部分をKconv.toutf8でくくるのは、如何な ものかと思い、CGIクラスそのものを改造して、 cgi.out(headers){hoge} と記述しても、UTF-8で出力されるようにしたいのですが、やり方が解 りません。 CGIクラスのoutメソッドをオーバーライドするのかなぁ? と思うのですが、オーバーライドってやった事が無いので、 手がかりがつかめません。 お手ほどきの、よろしくお願いいたします。

    • ベストアンサー
    • Ruby
  • RUBYのバージョンアップ

    RUBY1.8.6から1.9.1へバージョンアップをしようと思ってます。 サイトからバージョンのソースコードをダウンロードしたのですが、やり方を教えてください。 srcフォルダに古いバージョンのフォルダがあるので、差し替え的な感じでしょうか?

  • rubyにてデータが変更されているかチェックしたいのですが

    現在Ruby on Railsでプログラムを作成していますが、よくわかりません。周りに聞ける人もいないので、よろしければどなたか教えてください。 ユーザーファイルのパスワードが変更されていたら changepassdateの内容を変更して、 変更されていなかったらchangepassdateの内容はそのままにするという内容のプログラムを作りたいです。 現在の内容だと、パスワードを変更しないでもchangepassdateの内容が変わってしまいます。 どうしたらこの問題が解決されるでしょうか? お手数おかけして申し訳ありませんが、どなたか教えてください。お願いします。 def update @user = User.find(params[:id]) if @user.password =! params[:password] t = DateTime.now @user.changepassdate = t + 1 end respond_to do |format| if @user.update_attributes(params[:user]) flash[:notice] = 'ユーザー情報が更新されました。' format.html { redirect_to(@user) } format.xml { head :ok } else format.html { render :action => "edit" } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end end

  • ダック・タイピングのメリット

    Rubyには「ダック・タイピング」が可能とのことを知りました。 しかしその有用性がわかりません。 ダック・タイピングのメリットを教えてください。 Wikipediaには以下のように書いてありました。 ダック・タイピング - Wikipedia http://ja.wikipedia.org/wiki/%E3%83%80%E3%83%83%E3%82%AF%E3%83%BB%E3%82%BF%E3%82%A4%E3%83%94%E3%83%B3%E3%82%B0 「オブジェクトがあるインタフェースのすべてのメソッドを持っているならば、たとえそのクラスがそのインタフェースを宣言的に実装していなくとも、オブジェクトはそのインタフェースを実行時に実装しているとみなせる」 とりあえず意味はわかりました。しかし、すべてのメソッドを実装する努力をしながらインターフェイスの宣言をしないメリットがわかりません。そのインターフェイスを使うことがわかっているのなら宣言すればいい話だと思いますし、宣言を記述しなくて済むというメリットしかないということもないと思います。 ダック・タイピングのメリットを教えてください。 よろしくお願いします。

    • mibusys
    • 回答数1
  • rails(主にpassenger)を使う場合のデバッグ

    Rails初心者です。 Railsでアプリケーションを構築する場合、何か良い方法はありますか? たとえば、アクション内でオブジェクトの中身などをみたくて p myObjや pp myObj などということをしても、テンプレートに遷移して出力されません。(pの後にexitをしても、exit専用画面?になって、結局出力がみれず) ruby-debugというものがあるようなのですが、passengerを使った場合は動作しないようでした。 何か良い方法があれば教えてください。よろしくおねがいします。

    • ベストアンサー
    • Ruby
  • Rubyのパスワード変更画面について

    rubyでのプログラム作成についての質問です。 パスワードの変更画面を作成したいのですが、作り方がよくわかりません。 会社でrubyを使用したプログラム作成を命じられましたが、社内にrubyを使用できる人がいないので質問できず困っています。 パスワードを変更する際に、パスワードの入力と確認用パスワードの入力をして、 双方が一致したらパスワードを変更、双方が不一致ならエラーメッセージを表示するようにしたいのですが、どうしたらいいのでしょうか。 現在、コントローラ内は以下のようになっています。 def new @user = User.new respond_to do |format| format.html # new.html.erb format.xml { render :xml => @user } end end def create @user = User.new(params[:user]) if(params[:password]!=params[:password_confirm]) ←ここでパスワードと確認用パスワードをチェック? flash[:notice] = 'パスワードが間違っています。' redirect_to:back return end respond_to do |format| if @user.save flash[:notice] = 'User was successfully created.' format.html { redirect_to(@user) } format.xml { render :xml => @user, :status => :created, :location => @user } else format.html { render :action => "new" } format.xml { render :xml => @user.errors, :status => :unprocessable_entity } end end end パスワードチェックをしているつもりはあるのですが、パスワードと確認用パスワードが違っていても現在は登録処理がされてしまいます。どうしたらいいのでしょうか。 大変困っているのでどなたか教えてください。

  • 【RoR】Restfulにdestroyアクションへのリンクを作成したい

    RoRバージョン:2.3.2 Rubyバージョン:1.8.5 config/routes.rbで次のように設定して、 --------------------- map.resources :person --------------------- app/views/persons/show.rhtmlに、次のように記述したファイルを作成しました。 --------------------------------------------------------- <p>ここはshowアクション</p> <p><%= link_to 'edit_person_path', edit_person_path(1) %> <p><%= link_to 'person_path', person_path(1) %></p> <p><%= link_to 'person_path', person_path(1), :method => 'delete' %></p> ---------------------------------------------------------- それぞれ作成されるリンクは、editアクション、showアクション、destroyアクションへのものとなりますが、最後のリンクだけは:methodオプションを指定して作成する必要があります。 http://guides.rubyonrails.org/routing.html#urls-and-paths を見ると、 link_to 'person_path', person_path(1) とするだけでdestroyアクションへのリンクが作成できるような感じで読み取れましたが、どうしてもその通りにするとshowアクションへのリンクになってしまいます。 (showアクションと曖昧なので、それだけではできるわけありませんが。。) で、質問ですが、どのようにすれば:methodオプション、CRUD形式、名前付きルーティングを使わずに(つまりRestfulに)destroyアクションを呼び出すリンクを作成できますか? 無理ぽいのであれば、そういった回答も頂けるとうれしいです。

    • ggaogg
    • 回答数2