Как заставить файл Rails view .erb печатать последнюю часть URL? - PullRequest
1 голос
/ 14 октября 2010

Я совершенно новый для Rails. Я научился делать статические действия контроллера и соответствующие файлы просмотра. Теперь я хочу сделать так, чтобы при переходе на localhost: 3000 / hi / anita на странице было написано «Привет, Анита», а когда я перехожу на localhost: 3000 / hi / bob, на нем было написано «Привет, боб». Конечно, я не хочу делать действия Аниты и Боба. Вы поняли идею. Любые намеки, как я могу это сделать? Спасибо!

1 Ответ

3 голосов
/ 14 октября 2010

Я бы определил маршрут, чтобы сначала принять «последнюю часть», а затем получить его в действии:

# in routes.rb
# for rails 3:
match "/hi/:who" => "static#say_hi"
# for rails 2:
map.connect "/hi/:who", :controller => "static", :action => "say_hi"

# in StaticController
def say_hi
  @who = params[:who] || "No body" # as the user can use the url "/hi" without the "last part"
end

# in views/static/say_hi.html.erb
Hi <%= @who %>
...