私はレール3のアプリケーションをリファクタリングしています。そして、ajaxベースのサブコンポーネントをどのように処理するのが最適かを知りたいですか?レール3のajaxベースのサブコンポーネントはどのように扱うのですか?
私は 'ダッシュボード'コントローラを持っています。これは 'ダッシュボード#表示'アクションによってレンダリングされます。
これで、ダッシュボードの一部であるajaxベースの 'tabs'コンポーネントが必要になりました。
溶液1:
Iは、2つの可能な解決策を持っている例えばアクションとしてタブコンポーネントを実装します'ダッシュボード#タブ'(これは私の現在の解決策です)。
- tabs_dashboard_path
ソリューション2:これは私の醜いヘルパーを与え、例えばネストされたリソースとしてそれをimplented 'ダッシュボード/タブ#表示'。これは私が最善の行動がどうなるか、他のAjaxコンポーネントの多くを持ってきれいという名前のヘルパー例えば:心の中で
ベアリング・
- dashboard_tabs_pathを与えるのだろうか?
ソリューション2を使用すると、リソースが深く入れ子になり、「表示」アクションが1つしかありません。これは私の好みにはあまりにも冗長すぎるようです。
resource :dashboard, :only => [:show], :controller => "users/dashboard" do resource :tabs :only => [:show], :controller => "users/dashboard/tabs" do resource :steps :only => [:show], :controller => "users/dashboard/tabs/steps" #etc.... end end
はこれに対処するための良いレールの方法があります:として
は、例えばルートが指定されるだろうか?
私も同様の質問があります:http://stackoverflow.com/questions/9585179/how-do-i-structure-rails-3-controllers-and-views-for-ajax-based-applications – user1243113