2

私はコントローラーを持っています

 emppedes

私が見るURLでこれを呼び出したいときは問題ありません

localhost:3000/emppedes

それに関連するコンテンツ全体が表示されます。

しかし、このコントローラーをレールの他の名前と一致させて、クリックすると次のようなURLにアクセスできるようにすることはできますか

localhost:3000/employees

コントローラーを変更せずに、URLの内側と外側でそれを見ることができます。つまり、次のような場所にコーディングできますか

 `emppedes will display as employees in URL.`

出来ますか。私の質問はばかげているかもしれませんが、それが可能かどうか知りたいです。編集では、2つの異なるIDを送信し、コントローラーでも更新のために2つのIDを送信する必要があります。私のコードを編集するには

<%= link_to 'Edit', { :action => "edit",:id => @emppede.id,:ad => @id},:class=>"btn btn-success" %> |

コントローラーに2つのハンドル2つのIDがあるため、更新用にも

 @id= @emppede.ad

if @emppede.save
        format.html { redirect_to :action => :index, :id => @emppede.ad }
        format.json { render json: @emppede, status: :created, location: @emppede }

2 つのパラメーター :id と :ad の両方をレールパス形式で送信するにはどうすればよいですか? 私のコントローラーはこんな感じなので

def index
         @id = params[:id]
      @data = Emppede.where(:ad => @id)
    if @data.count > 0
      @data.each do |data|
        @ids= data.id
         end
      redirect_to :action => :show, :id => @ids, :ad => @id
     else
      redirect_to :action => :new, :id => @id
    end
  end
4

4 に答える 4

7

はい、特定のリソースに使用するコントローラーを指定するだけです。

resources :employees, :controller => "emppedes"

または、Ruby 1.9構文を使用する場合:

resources :employees, controller: "emppedes"

詳細については、Railsガイド:ルーティングを参照してください。

于 2012-12-06T05:05:44.830 に答える
3

あなたがしたいことは、 :path オプションを渡すことです

リソース :employees, :path => "emppedes"

これにより、すべてのルート参照が /employees から /emppedes に置き換えられます

参照: http://guides.rubyonrails.org/routing.html、セクション 4.7 パスの変換

于 2012-12-06T05:11:44.583 に答える
1

クエリには、routes.rb で以下を使用できます。

match '/employees/:id/:ad(.:format)' => 'emppedes#index', :via => :get, :as => :employees
resources :emppedes, :as => 'employees'
于 2012-12-06T10:01:38.667 に答える
0

初期化ファイルで屈折を使用してみてください

  ActiveSupport::Inflector.inflections do |inflect|
     inflect.irregular 'employees', 'emppedes'
  end
于 2012-12-06T05:27:00.270 に答える