Опция Способ вызова метода link_to на самом деле метод HTTP, а не имя действия. Это полезно при передаче опции HTTP Delete, так как маршрутизация RESTful использует метод DELETE для достижения действия destroy.
Что вам нужно сделать здесь, это настроить маршрут для вашего действия. Предполагая, что это называется join_event
, добавьте следующие строки в routes.rb:
match '/join_event' => 'controllername#join_event', :as => 'join_event'
Обязательно измените controllername на имя контроллера, который вы используете. Затем обновите свое представление следующим образом:
<%= link_to 'Join', join_event_path %>
Метод _path создается на основе значения as в файле маршрутов.
Чтобы организовать код, вы можете инкапсулировать вставки в метод статической модели. Так что если у вас есть модель под названием MyModel
с колонкой именем, вы могли бы сделать
class MyModel
# ...
def self.insert_examples
MyModel.create(:name => "test")
MyModel.create(:name => "test2")
MyModel.create(:name => "test3")
end
end
Тогда просто выполнить его в действие с помощью:
MyModel.insert_examples
Большое вам спасибо за ваш ответ. Это было очень полезно :) Как мне сделать, если я хочу, чтобы кнопка отображала форму и на основе полей формы выполняли вставки в базе данных? – notGeek
Если вы хотите принять пользовательский ввод, это вопрос: a) настройка модели, b) запуск миграции базы данных для этой модели и c) настройка контроллера и просмотров для его поддержки. Я на самом деле предлагаю вам ознакомиться с руководством по началу работы: http://guides.rubyonrails.org/getting_started.html#getting-up-and-running-quickly-with-scaffolding, поскольку в нем излагаются некоторые из этих шагов. Если вы предпочитаете инвестировать в книгу, проверьте Rails 3 в действии – agmcleod