我需要网址,
本地主机:3000 /纽约
代替,
本地主机:19分之3000
答案 0 :(得分:1)
在你的宝石文件中写
<input type="text" ng-model="todoText1" size="30"
placeholder="add new todo here" ng-blur ="myfunction()">
<input type="text" ng-model="todoText2" size="30"
placeholder="add new todo here" ng-focus ="myfunction()">
在gemfile中编写gem后运行bundle install
创建迁移以在模型中添加slugs列
gem "friendly_id"
在你的控制器中写
rails g migration AddSlugToCity
add_column :cities, :slug, :string
add_index :cities, :slug, unique: true
在您的城市模块中使用友好ID
@city = City.friendly.find(params[:id])
答案 1 :(得分:0)
你可以get '/:city_name' => 'city#city_method', as: 'city'
像<%= link_to @city.name, city_path(city_name: @city.name) %>
答案 2 :(得分:0)
嗯,您需要在路线中指定param
:
resources :cities, param: :name
此外,Rails使用模型上定义的to_param
方法,它应该返回您要查找的参数 - 您还需要在City上定义它:
class City < ActiveRecord::Base
# ...
def to_param; name; end
# ...
end
然后,当您生成路线时,您可以将对象直接传递给city_path
:
link_to @city.name, city_path(@city)
最后,但并非最不重要的是,将您的控制器调整为find_by
name
,而不是ID:
@city = City.find_by! name: params[:name]
或者,对于开箱即用的解决方案,请尝试一些现有的宝石,例如friendly_id
!