2012-09-12 34 views
0

我试图通过按下页面上的按钮用户从数据库中获取随机项将显示,但将具有一个属性编辑。我遇到的问题是,我不知道如何传递一个随机ID(在数据库中有效),以便在我的部分中呈现,但仍然能够更新特定属性。从标题Rails语法错误 - 不能找到它的原因

问题:

SyntaxError in Tasks#main 
    Showing /home/bogdan/ex/bored/app/views/tasks/main.html.erb where line #1 raised: 
/home/bogdan/ex/bored/app/views/tasks/main.html.erb:1: syntax error, unexpected ',', expecting ')' 
...uffer.append= form_for (:task, :url => {:action =>'rand_tas... 
...        ^
/home/bogdan/ex/bored/app/views/tasks/main.html.erb:1: syntax error, unexpected ')', expecting keyword_end 
...url => {:action =>'rand_task'}) do |f|@output_buffer.safe_co... 
...        ^
../app/views/tasks/main.html.erb:8: syntax error, unexpected keyword_ensure, expecting $end 
Extracted source (around line #1): 
1: <%= form_for (:task, :url => {:action =>'rand_task'}) do |f|%> 
2:  <%= render(:partial => "rand_show", :locals => {:f => f}) %></p> 
3: <%end%> 
4: 
Trace of template inclusion: app/views/tasks/main.html.erb 

我试图在rand_task输出对象传递给_rand_show.html.erb和afterwartds调用一个新的可编辑的形式只为ATTR我被intressted在id

形式:

<%= form_for(@task = Task.new) do |f| %> 
    <div class="field"> 
    <%= f.label :name %><br /> 
    <%= f.text_field :name, :disabled=>true %> 
    </div> 
    <div class="field"> 
    <%= f.label :category %><br /> 
    <%= f.text_field :category, :disabled=>true %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 
随机

方法:

def rand_task 
    if params[:id] == 'random' 
     @task = Task.order('RANDOM()').first 
    else 
     @task = Task.order('RANDOM()').first // if not i get a nill related error. 
    end 
    end 

请帮助我为什么会得到上述错误?我正在考虑错误的概念吗?

回答

2
<%= form_for (:task, :url => {:action =>'rand_task'}) do |f| %> 
      ^

问题是form_for(和之间的空间中。如果你删除它应该工作的空间。