• ベストアンサー

scaffold作成後のviewのみの自動更新

ぐぐっても答えが出てこないので質問させて下さい。 rails3において、一度scaffoldを作成した後、モデルの内容を変更したとします。 viewの内容は最初作成したモデル構成内容が出力されているままなので、これを変更後の内容に更新したいと考えています。 一度scaffoldをdestroyして、再度新しいプロパティの構成と一緒に作成するのも一つの方法ですが、それだと全体が変更されてしまします。 viewの内容のみ更新できる便利なコマンドはないのでしょうか? もしご存知の方がいらっしゃたら教えて下さい。 よろしくお願い致します。

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

  • ベストアンサー
  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.2

> railsの機能ではなく、プラグインでも結構なので、モデル構成を自動的に反映してビューを構成できるようなプラグイン 管理画面を生成する Typus みたいなプラグインならいろいろあると思うけど、なんとなく望んでいることとは違うような気が。 https://github.com/typus/typus

kawaharan
質問者

お礼

回答ありがとうございます。 こういう感じのを探していました!教えていただいたことに心から感謝しております。 予め、管理用ページとしての利用用途を考えていることを質問内容に加えておけばよかったと反省しております。 曖昧な質問をしてしまって申し訳ありませんでした。 とにかく、サイトを見てこれは使える!と感じたので早速色々試してみたいと思います。

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

その他の回答 (1)

  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.1

普通に view のファイルをエディタで開いて編集するしかないと思うけど、 どんな風にモデルを変更したのか知らないけど、その変更に応じてどういうビューを書かなければならないかは貴方にしかわかりません。 そもそも scaffold で作成されるファイルはあくまで「土台」なんだからそれ以上の何かを期待されても困ると思う。

kawaharan
質問者

お礼

ご回答ありがとうございます。 rails本来の機能ではそのような機能はないということですね。 参考になりました。ありがとうございます。

kawaharan
質問者

補足

railsの機能ではなく、プラグインでも結構なので、モデル構成を自動的に反映してビューを構成できるようなプラグインをご存知の方がいらっしゃれば、引き続き教えて頂きたいと思いますので、この質問の回答を引き続き待ちたいと思います。

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

関連するQ&A

  • railsのscaffoldにて作成したプロジェクトの

    railsのscaffoldにて作成したプロジェクトの ViewsのEditのlink_toの第二引数の値がどこで設定されているかわかりません。 例えば、モデル名を"student"にてscaffoldを実行すると、 index.html.erbのEditはこのようになります。 <td><%= link_to 'Edit', edit_student_path(student) %></td> この"edit_student_path"というのが、何者なのかよくわかりません。 どこかで定義されているわけでもなく、動的に生成されているようですが、 仕組みが全くわかりません。 出力されたhtmlの該当部分はこのようになってます。 <a href="/students/1/edit">Edit</a> 現在、scaffoldにて生成したコントローラとビューを一階層掘り下げようとしている所で、出くわした問題です。 controllers/students_controller.rb views/students/index.html.erb ↓ controllers/hoge/students_controller.rb views/hoge/students/index.html.erb どなたかご教授いただけますでしょうか? ちなみにrailsのバージョンは2.3.5です。

    • ベストアンサー
    • Ruby
  • scaffold後のviewの追加

    Mysqlでscaffoldを使ってnameとemail列をもったcontactsテーブルを作りました。 モデル名はContactとなっています。ビューにはすでにindex、edit、new、showなるファイルが存在していますが、searchというファイルを追加したいのですが、作成後 http://localhost:3000/contacts/searchにアクセスすると、 Couldn't find Contact with ID=search とエラーになります。scaffoldを使わずマニュアルでmodelとcontrollerを作った場合はこのエラーは出ず任意に作成したファイルにアクセス出来ます. scaffoldを使った場合どのファイルを修正すればよいのでしょうか?

  • Ruby on Rails ; model validationが動作しない等

    昨日からRoRで開発している初心者です。 移行するとアプリケーションが動かなくなりました。 開発機でruby on rails + lighttpd + fastcgi にて rails xxx ruby script/generate scaffold yyy ・・・ と開発を進めていました。 そして同様構成の本番機に移行したところ、validateが動かないなど 様々な不具合がでています。 移行方法  本番機でrailsコマンドを実行  xxx以下のファイルを全てコピー ファイルをコピーするだけだと動作しないのでしょうか? 不具合:  1:時々 unknown action がでる  2:varidate(model/...)が動作しない 対処? 1:script/generateコマンドの発行が必要? ただしい移行方法をどなたか教えていただけませんか?

  • ビューについて、教えてください

    いつもお世話になっております。 ビューについて、教えて下さい。 以下のビュー「ABVW」を作成しましたが、TBLAやTBLBの内容が変更された場合、 ビュー上のデータは自動で置き換わるのでしょうか? CREATE VIEW ABVW  SELECT * FROM TBLA UNION ALL SELECT * FROM TBLB 以上、よろしくお願いします。 ※いろいろなサイトではマテビューはリフレッシュ機能のようなものがあると書かれており、  マテビューを作成しようとしたのですが、TBLA/TBLBは”キーなし”が原因なのかは  わからないのですが、うまく作成できず、普通のビューで行うことにしました。

  • 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フォルダになった原因がよくわからないです。 すごく困ってます。 ご指導お願いいたします。

  • マテリアライズド・ビューの変更

    マスターテーブルの定義変更(カラム追加等)をマテリアライズド・ビューへ反映することは可能でしょうか?ご存知の方がいらしたら教えて下さい。 マテリアライズド・ビューログを作成して高速リフレッシュを行う方針ですが、マテリアライズド・ビューを読み取り専用、あるいは更新可能で作成しても、リフレッシュで定義変更は反映されませんでした。

  • iPhoneSDK ビューの半透明

    iPhoneおよびiPodTouch用アプリケーションを作成しているのですが、画面に表示している内容の上に半透明のビューを表示させようと思っています。そこで、画面半分程のビューを作成し半透明にしたく「Alpha」プロパティを「0.75」に設定し表示させて所、下の画面は透けて見えるのですが上に表示させたビューに配置しているコントロールまで透けて見えてしまいます。(添付した画像が半透明のビューと透けて見えてしまうコントローラです)。上に表示したビューのみ半透明でそのビューに配置したコントローラは透けずにそのまま表示したいのです。何か良い方法などありましたらお知らせください。宜しくお願い致します。

  • 印刷ビューでの書式の変更

    有難うございます。 Access2010ですが、1の西暦の表記の変更はできましたが、2と3の令和の表記では、令和の部分が平成になってしまいます。過去のデータもあるので、ひとまず、西暦の表記にしようと思いますが、続いて問題が。 テーブルの書式は変更できましたが、このデータを印刷ビューで他の形で出力する際には、元の書式に戻ってしまいます。この印刷ビューでの変更はどこで行えばよいでしょうか?画像のプロパティシートを変更するのだとすると、どこを変更すれば良いでしょうか? Accessがほとんどよくわからない状態で入力作業をしています。。 お手数ですが宜しくお願い致します。

  • SQLのビューについて

    SQLServer:2005 OS:XP こんにちは。お世話になっています。 SQLServerでビューを作成し、テーブル「a」の構成データにプラスして、前月の1日を入力させようとしています。 ビューの列に↓を入力すると CAST(YEAR(DATEADD(m, - 1, GETDATE())) AS varchar) + CAST(MONTH(DATEADD(m, - 1, GETDATE())) AS varchar) + CAST('1' AS varchar) 「200811」と出力されるのですが、このデータを日付型にするにはどのような関数を追加したらいいのでしょうか? アドバイスをお願いいたします。

  • accessの自動更新処理をできないようにするにはどうすれば良いですか?

    accesで顧客データベースを作成しています。 「顧客リスト」テーブルを作り、そのテーブルを閲覧しやすいように「顧客リスト」フォームを作成しました。 また、フォーム上でデータの修正をした際、その修正内容を保存する為のコマンドボタンを取り付けました。 しかし、現在の状態では、そのコマンドボタンを押さなくても×印をクリックして閉じると自動的にデータの更新内容がテーブルに反映されてしまいます。 データを修正した際、保存用のコマンドボタンを押した場合にのみ、その修正内容がテーブルに反映されるようにするのにはどうしたら良いのでしょうか?? 説明足らずかもしれませんが、ご存知の方教えてください。 ご回答宜しくお願い致します。

このQ&Aのポイント
  • Windows 11へ買い替えた後、筆まめVer.31をインストールしましたが、続けてVer.32のアップグレード・乗換版をインストールしても反映されません。
  • Ver.31の画面になり、詳細でVer.32を購入する画面になります。
  • もう一度買い替えが必要なのでしょうか?
回答を見る