我想使用UJS和Rails 3渲染視圖,但實際上並不工作。我讀過很多教程,但似乎無法得到此。下面是一些代碼片段:使用Rails和unobstrusive渲染新視圖javascript
index.js.erb的
"<%= render user_path(@this_user) %>"
的index.html
<%= form_tag users_path, :method => :get, :remote => true do %>
<%= submit_tag "Test", :name => nil, :class => "btn" %>
<% end %>
users_controller.rb
def index
@users = User.all
@this_user = User.find(1)
respond_to do |format|
format.html # index.html.erb
format.js
format.json { render json: @users }
end
end
每次我點擊 「測試」 ,我得到以下輸出:
對於127.0.0.1 2012-10-19 11:31:49 -0700開始GET「/ users?utf8 =%E2%9C%93」處理UsersController#index as JS參數: {「utf8」用戶負載(0.4ms)SELECT「users」。* FROM「users」
用戶負載(0.2ms)SELECT「users」。* FROM「users」WHERE「users」。「id」= $ 1 LIMIT 1 [[「id」,1]]渲染用戶/ index.js.erb(1.8ms) 已完成500內部服務器錯誤6msActionView :: Template :: Error(部分名稱/ 1)不是 有效的Ruby標識符;請確保您的部分名稱以 字母或下劃線開頭,後面跟着字母, 數字或下劃線的任意組合。): 1:「<%= render user_path(@this_user)%>」app/views /用戶/ index.js.erb的:1:
_app_views_users_index_js_erb__2145063269526192522_70203075823780'
索引」
app/controllers/users_controller.rb:9:in
似乎它在尋找一個部分;但是我只是希望它執行與用戶控制器上的「show」操作相關聯的視圖。這是一個全新的頁面。
我在做什麼錯?第一步是渲染一個全新的視圖,但我計劃在「演示」頁面內呈現局部視圖後,我解釋清楚。
在此先感謝您的幫助!