Ruby on rails3:Link_to无法正常工作?

时间:2011-01-30 22:07:29

标签: ruby-on-rails ruby-on-rails-3

 <%= link_to "", { :controller => 'board', 
                            :action => 'take_turn', 
                            :id => @board.id,
                            :x => col, 
                            :y => row }, :remote => true do %>

产生

<a href="" action="take_turn" controller="board" id="15" x="0" y="1">
            <div class="ttt_square"> 
              &nbsp;
            </div>
</a>

为什么它不能正常工作?它应该生成herf="board/take_turn?id=15&x=1&y=1"

3 个答案:

答案 0 :(得分:3)

这是因为您正在使用link_to的块版本。在这种情况下,第一个参数应该是URL,而不是空字符串。

答案 1 :(得分:2)

<%= link_to board_take_turn_path(@board, :x => col, :y => row) , :remote => true do %>
# Your code and stuff here
<% end %>

我认为应该有用(您需要确保board_take_turn_path实际定义

答案 2 :(得分:1)

您应该添加括号以使用您的符号正确,就像这样:

<%= link_to({:controller => 'board', 
                        :action => 'take_turn', 
                        :id => @board.id,
                        :x => col, 
                        :y => row }, :remote => true) do %> 
    <div class="ttt_square"> 
          &nbsp;
    </div>
<% end %>

否则解释器无法理解哪些是正确的参数。 希望这会有所帮助。