QA@IT
«質問へ戻る

4
本文
 ## 試行
 今はApplicationHelperでURLヘルパーをオーバーライドして実現しているのですが、汚く可読性が落ちるのでこれを解消したいと思い、この質問をさせて頂きました。そもそもネストしなければ引数は一つになるのですが、個別アイテムのURLを削ることで個別ユーザのURLになるようにしたいと思っているので、廃案となりました。
 
-何卒よとしくお願い致します。
+何卒よろしくお願い致します。

Nested Resourcesで生成されるURLヘルパーの引数を1つにしたい

概要

Nested Resourcesで生成されるURLヘルパーの引数複数個を1つに纏めたいと思っています。以下が詳細になります。ご助言頂けると嬉しいです。

前提

まず現在の状況をご説明します。Rails 3.2.13でUserモデルとItemモデルをScaffoldで作成しました。最小限のテーブル定義は以下になり、Itemオブジェクトは必ずただ一つのUserオブジェクトにひも付きます。

    create_table :users do |t|
      # None
    end

    create_table :items do |t|
      t.integer :user_id, null: false
    end

ここでURLヘルパーを定義するため、以下の様な記述をroutes.rbにしています。

  resources :users, only: :show, path: :u do
    resources :items, only: :show, path: ''
  end

質問

そこで生成されるURLヘルパー"user_item_path(@user, @item)"の2つの引数を1つに纏めたいというのが今回の質問です。今回のモデル構成だと、Itemオブジェクトは必ずUserオブジェクト1つに結びつくので、@itemという引数さえ分かれば@userは自明のはずです。ですので前述のURLヘルパーを"user_item_path(@item)"としたいです。どのようにすればこのような形にURLヘルパーを修正できるでしょうか?

試行

今はApplicationHelperでURLヘルパーをオーバーライドして実現しているのですが、汚く可読性が落ちるのでこれを解消したいと思い、この質問をさせて頂きました。そもそもネストしなければ引数は一つになるのですが、個別アイテムのURLを削ることで個別ユーザのURLになるようにしたいと思っているので、廃案となりました。

何卒よろしくお願い致します。

## 概要
Nested Resourcesで生成されるURLヘルパーの引数複数個を1つに纏めたいと思っています。以下が詳細になります。ご助言頂けると嬉しいです。

## 前提
まず現在の状況をご説明します。Rails 3.2.13でUserモデルとItemモデルをScaffoldで作成しました。最小限のテーブル定義は以下になり、Itemオブジェクトは必ずただ一つのUserオブジェクトにひも付きます。

```Ruby
    create_table :users do |t|
      # None
    end

    create_table :items do |t|
      t.integer :user_id, null: false
    end
```

ここでURLヘルパーを定義するため、以下の様な記述をroutes.rbにしています。

```Ruby
  resources :users, only: :show, path: :u do
    resources :items, only: :show, path: ''
  end
```

## 質問
そこで生成されるURLヘルパー"user_item_path(@user, @item)"の2つの引数を1つに纏めたいというのが今回の質問です。今回のモデル構成だと、Itemオブジェクトは必ずUserオブジェクト1つに結びつくので、@itemという引数さえ分かれば@userは自明のはずです。ですので前述のURLヘルパーを"user_item_path(@item)"としたいです。どのようにすればこのような形にURLヘルパーを修正できるでしょうか?

## 試行
今はApplicationHelperでURLヘルパーをオーバーライドして実現しているのですが、汚く可読性が落ちるのでこれを解消したいと思い、この質問をさせて頂きました。そもそもネストしなければ引数は一つになるのですが、個別アイテムのURLを削ることで個別ユーザのURLになるようにしたいと思っているので、廃案となりました。

何卒よろしくお願い致します。

質問を投稿

Nested Resourcesで生成されるURLヘルパーの引数を1つにしたい

概要

Nested Resourcesで生成されるURLヘルパーの引数複数個を1つに纏めたいと思っています。以下が詳細になります。ご助言頂けると嬉しいです。

前提

まず現在の状況をご説明します。Rails 3.2.13でUserモデルとItemモデルをScaffoldで作成しました。最小限のテーブル定義は以下になり、Itemオブジェクトは必ずただ一つのUserオブジェクトにひも付きます。

    create_table :users do |t|
      # None
    end

    create_table :items do |t|
      t.integer :user_id, null: false
    end

ここでURLヘルパーを定義するため、以下の様な記述をroutes.rbにしています。

  resources :users, only: :show, path: :u do
    resources :items, only: :show, path: ''
  end

質問

そこで生成されるURLヘルパー"user_item_path(@user, @item)"の2つの引数を1つに纏めたいというのが今回の質問です。今回のモデル構成だと、Itemオブジェクトは必ずUserオブジェクト1つに結びつくので、@itemという引数さえ分かれば@userは自明のはずです。ですので前述のURLヘルパーを"user_item_path(@item)"としたいです。どのようにすればこのような形にURLヘルパーを修正できるでしょうか?

試行

今はApplicationHelperでURLヘルパーをオーバーライドして実現しているのですが、汚く可読性が落ちるのでこれを解消したいと思い、この質問をさせて頂きました。そもそもネストしなければ引数は一つになるのですが、個別アイテムのURLを削ることで個別ユーザのURLになるようにしたいと思っているので、廃案となりました。

何卒よとしくお願い致します。

## 概要
Nested Resourcesで生成されるURLヘルパーの引数複数個を1つに纏めたいと思っています。以下が詳細になります。ご助言頂けると嬉しいです。

## 前提
まず現在の状況をご説明します。Rails 3.2.13でUserモデルとItemモデルをScaffoldで作成しました。最小限のテーブル定義は以下になり、Itemオブジェクトは必ずただ一つのUserオブジェクトにひも付きます。

```Ruby
    create_table :users do |t|
      # None
    end

    create_table :items do |t|
      t.integer :user_id, null: false
    end
```

ここでURLヘルパーを定義するため、以下の様な記述をroutes.rbにしています。

```Ruby
  resources :users, only: :show, path: :u do
    resources :items, only: :show, path: ''
  end
```

## 質問
そこで生成されるURLヘルパー"user_item_path(@user, @item)"の2つの引数を1つに纏めたいというのが今回の質問です。今回のモデル構成だと、Itemオブジェクトは必ずUserオブジェクト1つに結びつくので、@itemという引数さえ分かれば@userは自明のはずです。ですので前述のURLヘルパーを"user_item_path(@item)"としたいです。どのようにすればこのような形にURLヘルパーを修正できるでしょうか?

## 試行
今はApplicationHelperでURLヘルパーをオーバーライドして実現しているのですが、汚く可読性が落ちるのでこれを解消したいと思い、この質問をさせて頂きました。そもそもネストしなければ引数は一つになるのですが、個別アイテムのURLを削ることで個別ユーザのURLになるようにしたいと思っているので、廃案となりました。

何卒よとしくお願い致します。