我有一个控制器
emppedes
当我想在网址中调用此内容时,我很高兴看到
localhost:3000/emppedes
并显示与其相关的全部内容。
但是我可以将此控制器与其他人在rails中的名称相匹配,这样当我点击它时我可以进入URL,如
localhost:3000/employees
无需更改控制器内部但在网址外部,您可以看到。 我的意思是我可以像
那样编码 `emppedes will display as employees in URL.`
有可能吗?可能是我的问题很愚蠢,但我想知道是否可能。 在编辑我有两个发送两个不同的ID和控制器也为更新我必须发送两个ID。 对于编辑,我的代码就像
<%= link_to 'Edit', { :action => "edit",:id => @emppede.id,:ad => @id},:class=>"btn btn-success" %> |
因为我在控制器中有两个句柄 也用于更新
@id= @emppede.ad
if @emppede.save
format.html { redirect_to :action => :index, :id => @emppede.ad }
format.json { render json: @emppede, status: :created, location: @emppede }
我如何发送两个参数:id和:ad都在rails path formate中? 因为我的控制器是这样的
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
答案 0 :(得分:6)
是的,您只需指定要用于任何给定资源的控制器:
resources :employees, :controller => "emppedes"
或者如果您更喜欢Ruby 1.9语法:
resources :employees, controller: "emppedes"
有关详细信息,请参阅Rails Guide: Routing。
答案 1 :(得分:2)
您要做的是传递:路径选项
资源:employees,:path =&gt; “emppedes”
将所有路径引用替换为/ employees to / emppedes
请参阅:http://guides.rubyonrails.org/routing.html,第4.7节“翻译路径”
答案 2 :(得分:1)
您可以在routes.rb中使用以下内容进行查询
match '/employees/:id/:ad(.:format)' => 'emppedes#index', :via => :get, :as => :employees
resources :emppedes, :as => 'employees'
答案 3 :(得分:0)
尝试在初始化文件中使用变形
ActiveSupport::Inflector.inflections do |inflect|
inflect.irregular 'employees', 'emppedes'
end