Неопределенный метод - PullRequest
       39

Неопределенный метод

1 голос
/ 10 января 2012

Я использую Act-as-Messageable , драгоценный камень рельсов, в приложении, которое у меня есть.

Однако в моем messages_controller у меня есть

def new 
  @message = ActsAsMessageable::Message.new
end 

и, на мой взгляд, у меня есть

<%= form_for(@message) do |f| %>

, который выдает следующую ошибку

неопределенный метод `acts_as_messageable_messages_path '

Я не совсем уверен, почемуэто происходит с драгоценным камнем.

Ответы [ 2 ]

2 голосов
/ 11 января 2012

Попробуйте явно указать, на какой путь должна указывать форма (что должно быть действием messages#create):

<%= form_for(@message) :url => messages_path, :method => :post do |f| %> 
  <div class="field">
    <%= f.label :to %><br />
    <%= f.email_field :to %>
  </div>
  <div class="field">
    <%= f.label :topic %><br />
    <%= f.text_field :topic %>
  </div>
  <div class="field">
    <%= f.label :body %><br />
    <%= f.text_area :body %>
  </div>

  <button type="submit" class="btn primary">Send</button>
  <button type="reset" class="btn">Cancel</button>
<% end %>

Это предполагает, что у вас есть это в вашем файле routes.rb:

resources :messages

Кроме того, убедитесь, что вы передаете обязательные поля для ActsAsMessageable : https://github.com/LTe/acts-as-messageable/wiki/Example-controller

0 голосов
/ 10 января 2012

Это потому, что gem не добавляет маршрут, а помощник по формам пытается сгенерировать URL для отправки. Проверьте это с rake routes.

...