2012-02-18 36 views
0

- edit.html.erb -軌3.1.3 - 渲染形式顯示任何用戶/ 1 /編輯

<h1>Edit User</h1> 
<%= render 'form' %> 
<%= link_to 'Show', @user %> | 
<%= link_to 'Back', users_path %> 

- _form.html.erb -

<% form_for(@user) do |f| -%> 
<% if @user.errors.any? %> 
    <div id="error_explanation"> 
    <h2><%= pluralize(@user.errors.count, "error") %> prohibited this event from being saved:</h2> 

    <ul> 
    <% @user.errors.full_messages.each do |msg| %> 
     <li><%= msg %></li> 
    <% end -%> 
    </ul> 
    </div> 
<% end -%> 
<p><%= label_tag 'login' %><br/> 
<%= f.text_field :login %></p> 
<p><%= label_tag 'email' %><br/> 
<%= f.text_field :email %></p> 
<p><%= label_tag 'password' %><br/> 
<%= f.password_field :password %></p> 
<p><%= label_tag 'Confirm Password' %><br/> 
<%= f.password_field :password_confirmation %></p> 
<p><%= submit_tag 'Update' %></p> 
<% end -%> 

- 用戶控制器 -

def edit 
    @user = User.find(params[:id]) 
    end 
    def update 
    if @user.update_attributes(params[:user]) 
     flash[:notice] = 'User was successfully updated' 
     redirect_to(user_path(@users)) 
    else 
     render :action => 'edit' 
    end 
    end 

- 生成的頁面 -

<!DOCTYPE html> 
<html lang="en-US"> 
<head> 
<title>Admin pages</title> 
<link href="/assets/.css" media="screen" rel="stylesheet" type="text/css" /> 
<script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/prototype.js?body=1" type="text/javascript"></script> 
<script src="/assets/scriptaculous.js?body=1" type="text/javascript"></script> 
<script src="/assets/opentip.js?body=1" type="text/javascript"></script> 
<script src="/assets/effects.js?body=1" type="text/javascript"></script> 
<script src="/assets/builder.js?body=1" type="text/javascript"></script> 
<script src="/assets/controls.js?body=1" type="text/javascript"></script> 
<script src="/assets/dragdrop.js?body=1" type="text/javascript"></script> 
<script src="/assets/slider.js?body=1" type="text/javascript"></script> 
<script src="/assets/sound.js?body=1" type="text/javascript"></script> 
<script src="/assets/workers.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 
<meta content="authenticity_token" name="csrf-param" /> 
<meta content="j5tGtFyn08+fEMzSDCX15fv0c4fyGxlxOmp9CMpeBv8=" name="csrf-token" /> 
</head> 
<body> 

<h1>Edit User</h1> 

<a href="https://stackoverflow.com/users/1">Show</a> | 
<a href="/users">Back</a> 

</body> 
</html> 

這是安裝restful_authentication的一部分,我有其他腳手架設計相同的方式,他們都工作。花了2或3個小時追逐這一點,任何指導表示讚賞。

在用戶/視圖名爲_user_bar.html.erb中存在一個奇怪的部分,但我沒有看到它被使用的地方。

回答

0

在3.0+你需要輸出的form_for塊,變更軌道:

<% form_for(@user) do |f| -%> 

到:

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