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

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

新規登録して質問してみよう
ただいま回答率
87.20%
MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

解決済

ruby on rails viewへの値の渡し方と、ビジネスロジックの書き方について

hiepita1
hiepita1

総合スコア0

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。

1回答

0評価

0クリップ

2859閲覧

投稿2017/03/22 07:09

お世話になっております。
また基本的な質問になってしまいますが、どうぞよろしくお願いいたします。

現在業務でRuby on Railsの勉強をしていて、modelの処理をviewにどのように渡すべきなのかで悩んでいます。

元々Asp.net Mvc C#していた経緯があるので、Asp.net Mvcのコードと合わせて質問させて頂きます。
Asp.net Mvcでは、ビジネスロジッククラスをmodelとは切り離して使用していました。具体的なコードは以下の通りです。

Asp.net Mvc
controllerclass
{
public model Action
{
business instance = new business();
model returndata = instance.GetReturnDataMethod(params)
return View(returndata)
}
}

businessclass
{
public model GetReturnDataMethod(params)
{
model returndata = //paramsを元にデータベースにアクセス等をして、リターンデータを作成
return returndata
}
}

一方Railsでは、model内にビジネスロジックを書くということになっているようですが、どのように、どこに記述するのが一般的なのでしょうか?(model内にクラスメソッド?helper?その他?)
また、Asp.New MvcでいうReturn View はどのように書くのが正しいのでしょうか?

現在はmodelクラスの中にメソッドを作成して、その中でインスタンス変数に格納しているのですが、model内でmodel自身のビジネスロジックを書くことに違和感があります。

Ruby on Rails
controller
def action
@displaymodel = model.new
@displaymodel.getmodeldata(params)
end
end

model
def getmodeldata(params)
@titlemodel = //paramsを利用してデータベースにアクセス等をしてリターンデータを作成
@listmodel = //paramsを利用してデータベースにアクセス等をしてリターンデータを作成
end

view
<%= @displaymodel.title%>

<%= @displaymodel.listmodel.each do |data|%>

<%= end %>

まだまだプログラミング経験が未熟ですので、変な質問をしているかもしれませんが、ぜひご教示頂ければと思います。
宜しくお願い致します。

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

同じタグがついた質問を見る

MVC

MVC(Model View Controller)は、オブジェクト指向プログラミングにおけるモデル・ビュー・コントローラーの総称であり、ソフトフェア開発で使われている構築パターンとしても呼ばれます。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

ASP.NET MVC 4

ASP.NET MVC4は、MVCパターンを利用して、高度なテスト機能と保守機能を備えた Web アプリケーションを開発するためのフレームワークです。