#ruby-on-rails #ruby-on-rails-4 #salesforce #crud #databasedotcom-gem
#ruby-on-rails #ruby-on-rails-4 #salesforce #crud #databasedotcom-gem
Вопрос:
Я пытаюсь настроить базовый метод show с пользовательским объектом под названием ‘loan’. В моем терминале я вижу, что соответствующий запрос API возвращается с объектом, однако, похоже, я не могу вызвать ни один из его атрибутов в представлении show.html.erb. Я пробовал использовать resources:loans в моем файле маршрутов. Мне удалось вызвать поле Name в объекте loan в представлении marketplace, но, похоже, оно не работает в представлении show.
Я получаю следующую ошибку с приведенным ниже кодом:
ActionView::Template::Error (undefined method `Name' for nil:NilClass):
routes.rb
match '/loans/:id', to: 'loans#show', :as => 'loan', via: [:get]
show.html.erb
<div class="container content">
<div class="row">
<div class="col-md-12">
<h1><%= @loan.Name %></h1>
</div>
</div>
</div>
loans_controller.rb
class LoansController < ApplicationController
before_filter :authenticate_user!
include Databasedotcom::Rails::Controller
def marketplace
@loans = Loan__c.all
@accounts = Account.all
end
def show
render layout: 'lender'
@loan = Loan__c.find(params[:id])
end
end
marketplace.html.erb
<h2><%= link_to loan.Name, loan_path(loan) %></h2>
Комментарии:
1.
Loan__c
Название вашей модели состоит из двух подчеркиваний?2. @Pavan При использовании salesforce API I вам нужно добавить два символа подчеркивания и c для вызова пользовательского объекта.
Ответ №1:
Ошибка была в макете, который у меня был в контроллере show:
render layout: 'lender'
Я сломал там код ERB.