Как добавить файл .erb в существующую модель в rhoMobile

Я создал простое приложение и отредактировал файл index.erb так, чтобы у меня было простое представление с текстовым полем и кнопкой.

Теперь, когда я нажимаю на эту кнопку, я хочу, чтобы она перешла к новому представлению. Я знаю, что мы можем добавлять модели, и в этих моделях у нас разные файлы .erb. но я хочу создать один файл .erb или добавить его в существующую модель, чтобы я мог изменить представление и вызвать его при нажатии кнопки.

Это как для каждого экрана мы должны создать модель??

Я не знаю, как сделать то же самое, я пытался искать, но пока не помогло.


person Ajeet Pratap Maurya    schedule 22.12.2011    source источник


Ответы (2)


Дело не в том, что для каждого экрана нужно создавать модель, а наоборот. Для каждой модели, для которой вам нужны интерфейсы, вы создадите представления.

Почему бы вам не начать с этого руководства и не двигаться дальше, изучая основы.

Кроме интерфейсов CRUD? Вы можете добавить файл представления непосредственно в папку представления контроллера, с которым связана эта модель. Например, если модель является post.rb в app/models и у нее есть соответствующий контроллер posts_controller.rb в app/controllers, и у нее есть соответствующие представления в app/views/posts, вы можете добавить свое представление в папку app/views/posts с соответствующим методом в контроллере, который будет отображать это представление при условии для этого есть маршрут в файле config/routes.rb.

Скажем, я хочу добавить представление landing_page.html.erb в сообщение. Я бы добавил метод в posts_controller.rb (хотя это не обязательно. Но вам может быть полезно проверить некоторые условия перед рендерингом представления):

class posts_controller < ApplicationController
  ...
  def landing_page
  end
end

Добавьте представление в папку app/views/posts:

# app/views/posts/landing_page.html.erb

Добавьте маршрут в файл config/routes.rb:

map.resources do
  member do
    get :landing_page
  end
end

Теперь вы можете получить доступ к странице по адресу http://localhost:3000/posts/:id/landing_page.

person Syed Aslam    schedule 22.12.2011
comment
означает, что вы хотите сказать, что мы можем добавить файл .erb, где я могу создать свое представление в html?? но как добавить - person Ajeet Pratap Maurya; 22.12.2011

Нет, вам не нужно создавать модели для каждого представления (.erb). Если вы хотите добавить новое представление к существующей модели, просто добавьте новый метод (def) в контроллер (.rb) и новое представление (.erb) с тем же именем, что и у нового метода.

скажем, существует модель DemoController.rb в app/Demo. вы можете добавить к нему новый метод, например

class DemoController < Rho::RhoController
  ...
  def index
  end

  def new_method
  end

end

Чтобы перейти от представления индекса к методу new_method, вы можете написать

<button onclick="location.href='/app/Demo/new_method'">new method</button>

or

<button onclick="location.href='<%= url_for :action => :new_method %>'"
>new method</button>
person Community    schedule 13.12.2012