2015-06-29 2 views
0

У меня есть вложенный ресурс, называемый транзакциями внутри другого «бюджета».Rails 4 LocalJumpError для вложенной формы регресса

Все, что я пытаюсь выполнить, это для моих пользователей возможность редактировать отдельные «транзакции». Однако, когда я перехожу в/1/transaction/1/edit, я получаю сообщение LocalJumpError, говорящее «no block given (yield)». Возможно, это очень простое решение, но я еще не смог его найти.

routes.rb:

resources :budgets, :path => '/' do 
    resources :transactions 
end 

budget.rb:

class Budget < ActiveRecord::Base 
    belongs_to :user 
    has_many :transactions 

    validates :amount, presence: true 
    validates :title, presence: true 
    validates :user, presence: true 
    validates :amount, numericality: true 

    extend FriendlyId 
    friendly_id :title, use: :slugged 

    def should_generate_new_friendly_id? 
    new_record? 
    end 
end 

transaction.rb

class Transaction < ActiveRecord::Base 
    belongs_to :user 
    belongs_to :budget 

    validates :amount, presence: true 
    validates :user, presence: true 
    validates :budget, presence: true 
    validates :date, presence: true 
    validates :amount, numericality: true 
    validates :is_positive, :inclusion => {:in => [true, false]} 
end 

transactions_controller.rb

def edit 
    @budget = Budget.friendly.find(params[:budget_id]) 
    @transaction = @budget.transaction 
    end 

И в обзорных сделок/edit.html.erb:

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

Что мне не хватает?

ответ

Смежные вопросы