質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

2512閲覧

ruby on rails でできること。

koppe1989

総合スコア27

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

1クリップ

投稿2015/10/01 10:15

プログラミング、rails とも超がつく程の初心者です。
質問させてください。

今回、railsを勉強中で、初めてscaffoldという機能を用いて
簡単なページをブラウザで表示することに成功しました。

やりたいこと

railsと同じディレクトリの中にtest.rbというプログラムを作成しました。
ブラウザでrailsで作ったあるボタンを押すと、
サーバ内でtest.rbが動くという機能を作りたいと考えております。

質問

上記実現のため、どのようにしたらよいか、方針を教えてください。
もしくは参考ページなど教えていただきたく思います。

どうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

単独で動くプログラムをRails に認識させる

MVC のいずれにも属さないであろう処理の場合は、lib/ にファイルを設置するとよいかもしれません

lib/hello.rb

ruby

1module Hello 2 def self.say 3 'Hello' 4 end 5end

config/application.rb

ruby

1module MyApplicationName 2 class Application < Rails::Application 3 config.active_record.raise_in_transactional_callbacks = true 4 5 config.autoload_paths << Rails.root.join('lib') # lib ディレクトリを追加で読み込む設定 6 end 7end

つかってみる

たとえば以下のようにビューで利用することが出来ます

app/views/some_view_name/index.html.slim

slim

1p 2 = Hello.say 3/ Hello と表示される

(※slim を利用していますが、何も設定していなければerb を利用することになるでしょう)

そのあとは

  1. ビューに書いたボタンを押す
  2. config/routes に設定したコントローラの処理が呼び出される
  3. コントローラがlib/ に設置したプログラムを呼び出す

といった流れを組めれば、動作させることができるかもしれません

Ruby プログラムとWeb ブラウザとの関係性をつかむために、はじめにSinatra を利用してみてもいいかもしれません

何か参考になれば幸いです

Links

投稿2015/10/01 15:48

gouf

総合スコア2321

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koppe1989

2015/10/05 06:25

ご丁寧にありがとうございます。 上記内容を使えるよう、まずはMVCから学ぶようにいたします。 機会がありましたら、また教えていただければ幸いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問