2013-12-18 21 views
3

我想在rails_admin中使用部分來自定義我的編輯視圖。在配置/初始化/ rails_admin.rb我:在哪裏把rails_admin視圖partials

RailsAdmin.config do |config| 

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

end 

我也試過,可在rails_admin wiki上找到其他的語法:

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/blob/59da00303ca2162089b7dd7653a2f19494fb74b4/spec/unit/config/fields/base_spec.rb

我與規範關注的是,它不檢查,其中rails_admin查找部分。根據rails_admin維基百科部分應該是位置在應用程序/ views/rails_admin/main/

請幫我理解我做錯了什麼,或者至少請保證我的rails_admin在這裏不存在問題。我正在使用Rails 4和Ruby 2.0.0

回答

0

我對rspec沒有經驗,但是查看了rails_admin的github鏈接,文章提到了2種不同的方式來調用partial,並且我始終使用第二選擇。因此,對於你

我建議想打電話給你的部分是這樣的:

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

如果還是不行,請讓我知道:)

+0

當我嘗試你的語法時,錯誤是未定義變量'promotion'。我也嘗試過下面的rails_admin wiki例子: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.pryraise配合使用,以調試流程或進入方法並查看發生了什麼。

我敢打賭,你可以追蹤寶石的哪一部分實際上是呈現視圖。在使用寶石時,我發現深入研究各自的代碼庫以找出幕後發生的事情非常常見。祝你好運!