Link_to only links to current controller?

This is really confusing to me- I have some code in a page on the site
I’m working on that works absolutely fine on one version of the code and
totally doesn’t work on a newer version, in spite of the fact I can see
no difference whatsoever either in the rhtml pages, the controller or
any of the routing code. Right now I literally have no idea what the
cause of this could be.

This code lists FAQ entries (in faq_controller.rb ):

    <% @questionList.each do |question| %>
  • <%=link_to(question.question, :action=>'show_question', :id=>question.id)%>
  • <% end %>

On the current code it gives this output:

  • What is question 1?
  • When I switch to the new codebase I get this:

  • What is question 1?
  • Every single link I generate with link_to() is having it’s path replaced
    by a link to “/faq” both in the current partial and in the layout.

    I added some testing code to see what url_for is returning-
    <%
    logger.info “Test 1:”+url_for( :controller=>‘faq’,
    :action=>‘show_question’, :id=>11 )
    logger.info "Test 2: "[email protected](:url_for,
    {:action=>‘show_question’, :id=>1})
    %>
    The former gives /faq the latter gives /faq/show_question/1 but it
    doesn’t seem normal to have to keep calling @controller.send to get my
    links working.

    The other problem I have is that on my staging server and my local
    machine I don’t have this problem- it only arises on the live deployment
    server when it is running in production mode, which means I can only
    test it for seconds at the time if I don’t want to start seriously
    interfering with our users’ experience.

    Any guesses as to what might be causing this? It’s driving me up the
    wall.

    This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

    | Privacy Policy | Terms of Service | Remote Ruby Jobs