Я использовал виртуальные атрибуты в прошлом, но, похоже, я не могу пройти мимо этого, и я знаю, что ответ, вероятно, смотрит мне в лицо.проблемы с виртуальными атрибутами с неопределенными методами
У меня есть модель, как так:
модели Confirmation.rb
class Confirmation < ActiveRecord::Base
#attr_accessible :confirmation, :confirmation_token
#attr_accessible :confirmation_token
def confirmation_token
confirmation.confirmation_token if confirmation
end
def confirmation_token=(token)
self.confirmation = Booking.find_by_confirmation_token(token)
end
end
Ваш средний контроллер эшафот для
confirmations_controller.rb
def new
@confirmation = Confirmation.new(:confirmation_token => params[:confirmation_token])
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @confirmation }
end
end
new.html.erb
<h1>New confirmation</h1>
<% form_for(@confirmation) do |f| %>
<%= f.error_messages %>
<%= f.hidden_field :confirmation_token %>
...
routes.rb
map.confirmation "confirmation/:confirmation_token", :controller => "confirmations", :action => "new"
map.resources :confirmations
ошибка
неопределенный метод `подтверждение =» # для
В консоли Booking.find_by_confirmation_token (маркера) с данным маркером работает прекрасно.
Любые идеи? предложения?
Это странно. Я пробовал одно и то же однажды раньше ... с @ вместо себя ... и это не сработало. Но на этот раз. Все еще не уверен, что изменилось .. спасибо. – holden