2013-12-18 5 views
3

Я пытаюсь использовать частичное, чтобы настроить свое редактирование в rails_admin. В конфигурации/инициализаторов/rails_admin.rb у меня есть:где помещать партитуры для просмотров rails_admin

RailsAdmin.config do |config| 

    config.model 'Album' do 
    edit do 
     field :promotion do 
     partial :hello_world 
     end 
    end 
    end 

end 

Я также попытался другой синтаксис, который можно найти на rails_admin вики:

RailsAdmin.config do |config| 

    config.model 'Album' do 
    edit do 
     field :promotion do 
     def render 
      bindings[:view].render :partial => carrierwave.to_s, :locals => {:field => self, :form => bindings[:form]} 
     end 
     end 
    end 
    end 

end 

Я местонахождение мое частичное в приложение/просмотров /rails_admin/main/_hello_world.html.erb с содержанием:

<h1>Hello World!</h1> 

После перезагрузки не мой сервер не отображается ничего в окне редактирования для пустого поля «продвижение», за исключением.

У Rails_admin была проблема с github. Обсуждение показалось неубедительным, и проблема была закрыта до того, как кто-либо подтвердил, что решение работает для них. Вопрос можно посмотреть здесь:

https://github.com/sferik/rails_admin/issues/787

модератор создает спецификации для выпуска, а затем закрывает его. В спецификации можно посмотреть в самом низу этого файла:

https://github.com/sferik/rails_admin/blob/59da00303ca2162089b7dd7653a2f19494fb74b4/spec/unit/config/fields/base_spec.rb

Моя озабоченность спецификации является то, что он не испытывает где rails_admin ищет частичное. В соответствии с rails_admin wiki partials должно быть расположено в app/views/rails_admin/main/

Пожалуйста, помогите мне понять, что я делаю неправильно, или, по крайней мере, пожалуйста, заверить меня, что у rails_admin все еще нет проблемы. Я использую Rails 4 и Ruby 2.0.0

ответ

0

У меня нет опыта с rspec как таковым, но, посмотрев на ссылку github для rails_admin, в статье упоминаются 2 разных способа вызова частичного, и я всегда использую второй вариант.

Так что для вас я хотел бы предложить, пытаясь назвать ваш частичный так:

<%= render partial: "hello_world", locals: { promotion: promotion, Album: album } %> 

Если это не работает, пожалуйста, дайте мне знать :)

+0

Когда я пробовал свой синтаксис, ошибка была неопределенной переменной «promotion».Я также пробовал следовать примеру вики rails_admin: field: promotion do def render bindings [: view] .render: partial => hello_world.to_s,: locals => {: field => self,: form = > bindings [: form]} end end Это тоже не сработало. На странице не было никакого эффекта. Хорошо, мой следующий вопрос StackOverflow будет о мини-Markdown. – DizzyDez

0

Глядя на синтаксис, в rails-admin документация, похоже, что частичное изображение отображается как строка в обоих примерах, а - не в качестве символа. Попробуйте изменить свой код на следующее:

RailsAdmin.config do |config| 

    config.model 'Album' do 
    edit do 
     field :promotion do 
     partial "hello_world" 
     end 
    end 
    end 

end 

Если не решить эту проблему, я бы рекомендовал камень jazz-hands. Это отладочный пакет, в котором встроен pry-stack-explorer. Я использую это в тандеме с binding.pry и raise, чтобы отлаживать поток или входить в методы и посмотреть, что происходит.

Бьюсь об заклад, вы сможете отследить, какая часть драгоценного камня фактически отображает представление. При использовании драгоценных камней, я нашел довольно распространенным, чтобы вникнуть в соответствующую базу кода, чтобы понять, что происходит за кулисами. Удачи!

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