2014-01-12 35 views
0

后尝试做了几次搜索这一点,并找不到任何东西,所以希望我不张贴重复。Rails的link_to行动,与块

所以,API Dock's link_to docs有这样的签名:

link_to(options = {}, html_options = {}) do 
    # name 
end 

好象很有趣,所以我决定给这一个镜头:

<%= link_to { action: 'win', game_id: @games[0].id }, { :method => :post } do %> 
    <div> 
    <%= image_tag @games[0].img_url %> 
    <%= @games[0].name %> 
    </div> 
<% end %> 

这就产生了一个语法错误在第一行:

syntax error, unexpected ':', expecting '}' 
...ffer.append= link_to { action: 'win', game_id: @games[0].id... 

我还用括号试了一下:

<%= link_to ({ action: 'win', game_id: @games[0].id }, { :method => :post }) do %> 

这也给了我一个语法错误,同一条线路:

syntax error, unexpected ',', expecting ')' 
...'win', game_id: @games[0].id }, { :method => :post }) do @ou... 

我一直在看这一段时间,我算出它的一些简单的我错过了,但如果任何人有任何想法,我真的很感激它!

谢谢!

+0

尝试'{:action =>'win',:game_id => @games [0] .id},{:method =>:post}' 我不确定,但我认为这可能是因为您将1.9 ruby​​语法与<1.9语法混合在一起,即:key =>:value vs key:'value – toolz

+0

@toolz我试过但没有运气可以找到... – kotakotakota

+1

@kotakotakota你为什么不使用命名路线而不是'action:'win',game_id:@games [0] .id';例如'won_game_path(id)'? – Mohamad

回答

0

傻逼我!这是link_to(之间的空格...